var searchIndex = {}; searchIndex["rustful"] = {"doc":"A light HTTP framework with REST-like features. The main purpose of Rustful\nis to create a simple, modular and non-intrusive foundation for HTTP\napplications. It has a mainly stateless structure, which naturally allows\nit to run both as one single server and as multiple instances in a cluster.","items":[[0,"mime","rustful","Re-exporting the mime crate, for convenience.",null,null],[4,"Attr","rustful::mime","",null,null],[13,"Charset","","",0,null],[13,"Boundary","","",0,null],[13,"Q","","",0,null],[13,"Ext","","",0,null],[4,"Value","","",null,null],[13,"Utf8","","",1,null],[13,"Ext","","",1,null],[4,"SubLevel","","",null,null],[13,"Star","","",2,null],[13,"Plain","","",2,null],[13,"Html","","",2,null],[13,"Xml","","",2,null],[13,"Javascript","","",2,null],[13,"Css","","",2,null],[13,"EventStream","","",2,null],[13,"Json","","",2,null],[13,"WwwFormUrlEncoded","","",2,null],[13,"Msgpack","","",2,null],[13,"FormData","","",2,null],[13,"Png","","",2,null],[13,"Gif","","",2,null],[13,"Bmp","","",2,null],[13,"Jpeg","","",2,null],[13,"Ext","","",2,null],[4,"TopLevel","","",null,null],[13,"Star","","",3,null],[13,"Text","","",3,null],[13,"Image","","",3,null],[13,"Audio","","",3,null],[13,"Video","","",3,null],[13,"Application","","",3,null],[13,"Multipart","","",3,null],[13,"Message","","",3,null],[13,"Model","","",3,null],[13,"Ext","","",3,null],[6,"Param","","",null,null],[3,"Mime","","Mime, or Media Type. Encapsulates common registers types.",null,null],[12,"0","","",4,null],[12,"1","","",4,null],[12,"2","","",4,null],[4,"Method","rustful","The Request Method (VERB)",null,null],[13,"Options","","OPTIONS",5,null],[13,"Get","","GET",5,null],[13,"Post","","POST",5,null],[13,"Put","","PUT",5,null],[13,"Delete","","DELETE",5,null],[13,"Head","","HEAD",5,null],[13,"Trace","","TRACE",5,null],[13,"Connect","","CONNECT",5,null],[13,"Patch","","PATCH",5,null],[13,"Extension","","Method extensions. An example would be `let m = Extension("FOO".to_string())`.",5,null],[4,"StatusCode","","An HTTP status code (`status-code` in RFC 7230 et al.).",null,null],[13,"Continue","","100 Continue\n[[RFC7231, Section 6.2.1](https://tools.ietf.org/html/rfc7231#section-6.2.1)]",6,null],[13,"SwitchingProtocols","","101 Switching Protocols\n[[RFC7231, Section 6.2.2](https://tools.ietf.org/html/rfc7231#section-6.2.2)]",6,null],[13,"Processing","","102 Processing\n[[RFC2518](https://tools.ietf.org/html/rfc2518)]",6,null],[13,"Ok","","200 OK\n[[RFC7231, Section 6.3.1](https://tools.ietf.org/html/rfc7231#section-6.3.1)]",6,null],[13,"Created","","201 Created\n[[RFC7231, Section 6.3.2](https://tools.ietf.org/html/rfc7231#section-6.3.2)]",6,null],[13,"Accepted","","202 Accepted\n[[RFC7231, Section 6.3.3](https://tools.ietf.org/html/rfc7231#section-6.3.3)]",6,null],[13,"NonAuthoritativeInformation","","203 Non-Authoritative Information\n[[RFC7231, Section 6.3.4](https://tools.ietf.org/html/rfc7231#section-6.3.4)]",6,null],[13,"NoContent","","204 No Content\n[[RFC7231, Section 6.3.5](https://tools.ietf.org/html/rfc7231#section-6.3.5)]",6,null],[13,"ResetContent","","205 Reset Content\n[[RFC7231, Section 6.3.6](https://tools.ietf.org/html/rfc7231#section-6.3.6)]",6,null],[13,"PartialContent","","206 Partial Content\n[[RFC7233, Section 4.1](https://tools.ietf.org/html/rfc7233#section-4.1)]",6,null],[13,"MultiStatus","","207 Multi-Status\n[[RFC4918](https://tools.ietf.org/html/rfc4918)]",6,null],[13,"AlreadyReported","","208 Already Reported\n[[RFC5842](https://tools.ietf.org/html/rfc5842)]",6,null],[13,"ImUsed","","226 IM Used\n[[RFC3229](https://tools.ietf.org/html/rfc3229)]",6,null],[13,"MultipleChoices","","300 Multiple Choices\n[[RFC7231, Section 6.4.1](https://tools.ietf.org/html/rfc7231#section-6.4.1)]",6,null],[13,"MovedPermanently","","301 Moved Permanently\n[[RFC7231, Section 6.4.2](https://tools.ietf.org/html/rfc7231#section-6.4.2)]",6,null],[13,"Found","","302 Found\n[[RFC7231, Section 6.4.3](https://tools.ietf.org/html/rfc7231#section-6.4.3)]",6,null],[13,"SeeOther","","303 See Other\n[[RFC7231, Section 6.4.4](https://tools.ietf.org/html/rfc7231#section-6.4.4)]",6,null],[13,"NotModified","","304 Not Modified\n[[RFC7232, Section 4.1](https://tools.ietf.org/html/rfc7232#section-4.1)]",6,null],[13,"UseProxy","","305 Use Proxy\n[[RFC7231, Section 6.4.5](https://tools.ietf.org/html/rfc7231#section-6.4.5)]",6,null],[13,"TemporaryRedirect","","307 Temporary Redirect\n[[RFC7231, Section 6.4.7](https://tools.ietf.org/html/rfc7231#section-6.4.7)]",6,null],[13,"PermanentRedirect","","308 Permanent Redirect\n[[RFC7238](https://tools.ietf.org/html/rfc7238)]",6,null],[13,"BadRequest","","400 Bad Request\n[[RFC7231, Section 6.5.1](https://tools.ietf.org/html/rfc7231#section-6.5.1)]",6,null],[13,"Unauthorized","","401 Unauthorized\n[[RFC7235, Section 3.1](https://tools.ietf.org/html/rfc7235#section-3.1)]",6,null],[13,"PaymentRequired","","402 Payment Required\n[[RFC7231, Section 6.5.2](https://tools.ietf.org/html/rfc7231#section-6.5.2)]",6,null],[13,"Forbidden","","403 Forbidden\n[[RFC7231, Section 6.5.3](https://tools.ietf.org/html/rfc7231#section-6.5.3)]",6,null],[13,"NotFound","","404 Not Found\n[[RFC7231, Section 6.5.4](https://tools.ietf.org/html/rfc7231#section-6.5.4)]",6,null],[13,"MethodNotAllowed","","405 Method Not Allowed\n[[RFC7231, Section 6.5.5](https://tools.ietf.org/html/rfc7231#section-6.5.5)]",6,null],[13,"NotAcceptable","","406 Not Acceptable\n[[RFC7231, Section 6.5.6](https://tools.ietf.org/html/rfc7231#section-6.5.6)]",6,null],[13,"ProxyAuthenticationRequired","","407 Proxy Authentication Required\n[[RFC7235, Section 3.2](https://tools.ietf.org/html/rfc7235#section-3.2)]",6,null],[13,"RequestTimeout","","408 Request Timeout\n[[RFC7231, Section 6.5.7](https://tools.ietf.org/html/rfc7231#section-6.5.7)]",6,null],[13,"Conflict","","409 Conflict\n[[RFC7231, Section 6.5.8](https://tools.ietf.org/html/rfc7231#section-6.5.8)]",6,null],[13,"Gone","","410 Gone\n[[RFC7231, Section 6.5.9](https://tools.ietf.org/html/rfc7231#section-6.5.9)]",6,null],[13,"LengthRequired","","411 Length Required\n[[RFC7231, Section 6.5.10](https://tools.ietf.org/html/rfc7231#section-6.5.10)]",6,null],[13,"PreconditionFailed","","412 Precondition Failed\n[[RFC7232, Section 4.2](https://tools.ietf.org/html/rfc7232#section-4.2)]",6,null],[13,"PayloadTooLarge","","413 Payload Too Large\n[[RFC7231, Section 6.5.11](https://tools.ietf.org/html/rfc7231#section-6.5.11)]",6,null],[13,"UriTooLong","","414 URI Too Long\n[[RFC7231, Section 6.5.12](https://tools.ietf.org/html/rfc7231#section-6.5.12)]",6,null],[13,"UnsupportedMediaType","","415 Unsupported Media Type\n[[RFC7231, Section 6.5.13](https://tools.ietf.org/html/rfc7231#section-6.5.13)]",6,null],[13,"RangeNotSatisfiable","","416 Range Not Satisfiable\n[[RFC7233, Section 4.4](https://tools.ietf.org/html/rfc7233#section-4.4)]",6,null],[13,"ExpectationFailed","","417 Expectation Failed\n[[RFC7231, Section 6.5.14](https://tools.ietf.org/html/rfc7231#section-6.5.14)]",6,null],[13,"ImATeapot","","418 I'm a teapot\n[curiously, not registered by IANA, but [RFC2324](https://tools.ietf.org/html/rfc2324)]",6,null],[13,"UnprocessableEntity","","422 Unprocessable Entity\n[[RFC4918](https://tools.ietf.org/html/rfc4918)]",6,null],[13,"Locked","","423 Locked\n[[RFC4918](https://tools.ietf.org/html/rfc4918)]",6,null],[13,"FailedDependency","","424 Failed Dependency\n[[RFC4918](https://tools.ietf.org/html/rfc4918)]",6,null],[13,"UpgradeRequired","","426 Upgrade Required\n[[RFC7231, Section 6.5.15](https://tools.ietf.org/html/rfc7231#section-6.5.15)]",6,null],[13,"PreconditionRequired","","428 Precondition Required\n[[RFC6585](https://tools.ietf.org/html/rfc6585)]",6,null],[13,"TooManyRequests","","429 Too Many Requests\n[[RFC6585](https://tools.ietf.org/html/rfc6585)]",6,null],[13,"RequestHeaderFieldsTooLarge","","431 Request Header Fields Too Large\n[[RFC6585](https://tools.ietf.org/html/rfc6585)]",6,null],[13,"InternalServerError","","500 Internal Server Error\n[[RFC7231, Section 6.6.1](https://tools.ietf.org/html/rfc7231#section-6.6.1)]",6,null],[13,"NotImplemented","","501 Not Implemented\n[[RFC7231, Section 6.6.2](https://tools.ietf.org/html/rfc7231#section-6.6.2)]",6,null],[13,"BadGateway","","502 Bad Gateway\n[[RFC7231, Section 6.6.3](https://tools.ietf.org/html/rfc7231#section-6.6.3)]",6,null],[13,"ServiceUnavailable","","503 Service Unavailable\n[[RFC7231, Section 6.6.4](https://tools.ietf.org/html/rfc7231#section-6.6.4)]",6,null],[13,"GatewayTimeout","","504 Gateway Timeout\n[[RFC7231, Section 6.6.5](https://tools.ietf.org/html/rfc7231#section-6.6.5)]",6,null],[13,"HttpVersionNotSupported","","505 HTTP Version Not Supported\n[[RFC7231, Section 6.6.6](https://tools.ietf.org/html/rfc7231#section-6.6.6)]",6,null],[13,"VariantAlsoNegotiates","","506 Variant Also Negotiates\n[[RFC2295](https://tools.ietf.org/html/rfc2295)]",6,null],[13,"InsufficientStorage","","507 Insufficient Storage\n[[RFC4918](https://tools.ietf.org/html/rfc4918)]",6,null],[13,"LoopDetected","","508 Loop Detected\n[[RFC5842](https://tools.ietf.org/html/rfc5842)]",6,null],[13,"NotExtended","","510 Not Extended\n[[RFC2774](https://tools.ietf.org/html/rfc2774)]",6,null],[13,"NetworkAuthenticationRequired","","511 Network Authentication Required\n[[RFC6585](https://tools.ietf.org/html/rfc6585)]",6,null],[13,"Unregistered","","A status code not in the IANA HTTP status code registry or very well known",6,null],[0,"header","","Headers container, and common header fields.",null,null],[0,"parsing","rustful::header","Utility functions for Header implementations.",null,null],[5,"from_one_raw_str","rustful::header::parsing","Reads a single raw string when parsing a header.",null,null],[5,"from_raw_str","","Reads a raw string into a value.",null,null],[5,"from_comma_delimited","","Reads a comma-delimited raw header into a Vec.",null,null],[5,"from_one_comma_delimited","","Reads a comma-delimited raw string into a Vec.",null,null],[5,"fmt_comma_delimited","","Format an array into a comma-delimited string.",null,null],[8,"Header","rustful::header","A trait for any object that will represent a header field and value.",null,null],[10,"header_name","","Returns the name of the header field this belongs to.",7,{"inputs":[],"output":{"name":"str"}}],[10,"parse_header","","Parse a header from a raw stream of bytes.",7,null],[8,"HeaderFormat","","A trait for any object that will represent a header field and value.",null,null],[10,"fmt_header","","Format a header to be output into a TcpStream.",8,null],[3,"Headers","","A map of header fields on requests and responses.",null,null],[3,"HeadersItems","","An `Iterator` over the fields in a `Headers` map.",null,null],[3,"HeaderView","","Returned with the `HeadersItems` iterator.",null,null],[3,"HeaderFormatter","","A wrapper around any Header with a Display impl that calls fmt_header.",null,null],[12,"0","","",9,null],[3,"ContentType","","`Content-Type` header, defined in\n[RFC7231](http://tools.ietf.org/html/rfc7231#section-3.1.1.5)",null,null],[12,"0","","",10,null],[3,"From","","`From` header, defined in [RFC7231](http://tools.ietf.org/html/rfc7231#section-5.5.1)",null,null],[12,"0","","",11,null],[3,"AccessControlRequestHeaders","","`Access-Control-Request-Headers` header, part of\n[CORS](http://www.w3.org/TR/cors/#access-control-request-headers-request-header)",null,null],[12,"0","","",12,null],[3,"Cookie","","`Cookie` header, defined in [RFC6265](http://tools.ietf.org/html/rfc6265#section-5.4)",null,null],[12,"0","","",13,null],[3,"Expires","","`Expires` header, defined in [RFC7234](http://tools.ietf.org/html/rfc7234#section-5.3)",null,null],[12,"0","","",14,null],[3,"IfModifiedSince","","`If-Modified-Since` header, defined in\n[RFC7232](http://tools.ietf.org/html/rfc7232#section-3.3)",null,null],[12,"0","","",15,null],[4,"ConnectionOption","","Values that can be in the `Connection` header.",null,null],[13,"KeepAlive","","The `keep-alive` connection value.",16,null],[13,"Close","","The `close` connection value.",16,null],[13,"ConnectionHeader","","Values in the Connection header that are supposed to be names of other Headers.",16,null],[4,"ContentRangeSpec","","Content-Range, described in [RFC7233](https://tools.ietf.org/html/rfc7233#section-4.2)",null,null],[13,"Bytes","","Byte range",17,null],[12,"range","rustful::header::ContentRangeSpec","",17,null],[12,"instance_length","","",17,null],[13,"Unregistered","rustful::header","Custom range, with unit not registered at IANA",17,null],[12,"unit","rustful::header::ContentRangeSpec","",17,null],[12,"resp","","",17,null],[3,"Server","rustful::header","`Server` header, defined in [RFC7231](http://tools.ietf.org/html/rfc7231#section-7.4.2)",null,null],[12,"0","","",18,null],[3,"CacheControl","","`Cache-Control` header, defined in [RFC7234](https://tools.ietf.org/html/rfc7234#section-5.2)",null,null],[12,"0","","",19,null],[3,"AccessControlMaxAge","","`Access-Control-Max-Age` header, part of\n[CORS](http://www.w3.org/TR/cors/#access-control-max-age-response-header)",null,null],[12,"0","","",20,null],[3,"Upgrade","","`Upgrade` header, defined in [RFC7230](http://tools.ietf.org/html/rfc7230#section-6.7)",null,null],[12,"0","","",21,null],[3,"AccessControlExposeHeaders","","`Access-Control-Expose-Headers` header, part of\n[CORS](http://www.w3.org/TR/cors/#access-control-expose-headers-response-header)",null,null],[12,"0","","",22,null],[3,"Accept","","`Accept` header, defined in [RFC7231](http://tools.ietf.org/html/rfc7231#section-5.3.2)",null,null],[12,"0","","",23,null],[5,"q","","Convenience function to create a `Quality` fromt a float.",null,{"inputs":[{"name":"f32"}],"output":{"name":"quality"}}],[3,"Authorization","","`Authorization` header, defined in [RFC7235](https://tools.ietf.org/html/rfc7235#section-4.2)",null,null],[12,"0","","",24,null],[3,"Host","","The `Host` header.",null,null],[12,"hostname","","The hostname, such a example.domain.",25,null],[12,"port","","An optional port number.",25,null],[4,"IfRange","","`If-Range` header, defined in [RFC7233](http://tools.ietf.org/html/rfc7233#section-3.2)",null,null],[13,"EntityTag","","The entity-tag the client has of the resource",26,null],[13,"Date","","The date when the client retrieved the resource",26,null],[3,"AcceptLanguage","","`Accept-Language` header, defined in\n[RFC7231](http://tools.ietf.org/html/rfc7231#section-5.3.5)",null,null],[12,"0","","",27,null],[3,"Basic","","Credential holder for Basic Authentication",null,null],[12,"username","","The username as a possibly empty string",28,null],[12,"password","","The password. `None` if the `:` delimiter character was not\npart of the parsed input.",28,null],[3,"AcceptCharset","","`Accept-Charset` header, defined in\n[RFC7231](http://tools.ietf.org/html/rfc7231#section-5.3.3)",null,null],[12,"0","","",29,null],[3,"AccessControlRequestMethod","","`Access-Control-Request-Method` header, part of\n[CORS](http://www.w3.org/TR/cors/#access-control-request-method-request-header)",null,null],[12,"0","","",30,null],[3,"ETag","","`ETag` header, defined in [RFC7232](http://tools.ietf.org/html/rfc7232#section-2.3)",null,null],[12,"0","","",31,null],[3,"StrictTransportSecurity","","`StrictTransportSecurity` header, defined in [RFC6797](https://tools.ietf.org/html/rfc6797)",null,null],[12,"include_subdomains","","Signals the UA that the HSTS Policy applies to this HSTS Host as well as\nany subdomains of the host's domain name.",32,null],[12,"max_age","","Specifies the number of seconds, after the reception of the STS header\nfield, during which the UA regards the host (from whom the message was\nreceived) as a Known HSTS Host.",32,null],[3,"AcceptRanges","","`Accept-Ranges` header, defined in\n[RFC7233](http://tools.ietf.org/html/rfc7233#section-2.3)",null,null],[12,"0","","",33,null],[3,"AccessControlAllowHeaders","","`Access-Control-Allow-Headers` header, part of\n[CORS](http://www.w3.org/TR/cors/#access-control-allow-headers-response-header)",null,null],[12,"0","","",34,null],[4,"IfNoneMatch","","`If-None-Match` header, defined in\n[RFC7232](https://tools.ietf.org/html/rfc7232#section-3.2)",null,null],[13,"Any","","Any value is a match",35,null],[13,"Items","","Only the listed items are a match",35,null],[4,"Encoding","","A value to represent an encoding used in `Transfer-Encoding`\nor `Accept-Encoding` header.",null,null],[13,"Chunked","","The `chunked` encoding.",36,null],[13,"Gzip","","The `gzip` encoding.",36,null],[13,"Deflate","","The `deflate` encoding.",36,null],[13,"Compress","","The `compress` encoding.",36,null],[13,"Identity","","The `identity` encoding.",36,null],[13,"EncodingExt","","Some other encoding that is less common, can be any String.",36,null],[3,"ContentLength","","`Content-Length` header, defined in\n[RFC7230](http://tools.ietf.org/html/rfc7230#section-3.3.2)",null,null],[12,"0","","",37,null],[3,"Referer","","`Referer` header, defined in\n[RFC7231](http://tools.ietf.org/html/rfc7231#section-5.5.2)",null,null],[12,"0","","",38,null],[4,"AccessControlAllowOrigin","","The `Access-Control-Allow-Origin` response header,\npart of [CORS](http://www.w3.org/TR/cors/#access-control-allow-origin-response-header)",null,null],[13,"Any","","Allow all origins",39,null],[13,"Null","","A hidden origin",39,null],[13,"Value","","Allow one particular origin",39,null],[3,"AcceptEncoding","","`Accept-Encoding` header, defined in\n[RFC7231](http://tools.ietf.org/html/rfc7231#section-5.3.4)",null,null],[12,"0","","",40,null],[3,"Protocol","","Protocols that appear in the `Upgrade` header field",null,null],[12,"name","","The protocol identifier",41,null],[12,"version","","The optional version of the protocol, often in the format "DIGIT.DIGIT" (e.g.. "1.2")",41,null],[3,"LastModified","","`Last-Modified` header, defined in\n[RFC7232](http://tools.ietf.org/html/rfc7232#section-2.2)",null,null],[12,"0","","",42,null],[3,"Connection","","`Connection` header, defined in\n[RFC7230](http://tools.ietf.org/html/rfc7230#section-6.1)",null,null],[12,"0","","",43,null],[4,"Charset","","A Mime charset.",null,null],[13,"Us_Ascii","","US ASCII",44,null],[13,"Iso_8859_1","","ISO-8859-1",44,null],[13,"Iso_8859_2","","ISO-8859-2",44,null],[13,"Iso_8859_3","","ISO-8859-3",44,null],[13,"Iso_8859_4","","ISO-8859-4",44,null],[13,"Iso_8859_5","","ISO-8859-5",44,null],[13,"Iso_8859_6","","ISO-8859-6",44,null],[13,"Iso_8859_7","","ISO-8859-7",44,null],[13,"Iso_8859_8","","ISO-8859-8",44,null],[13,"Iso_8859_9","","ISO-8859-9",44,null],[13,"Iso_8859_10","","ISO-8859-10",44,null],[13,"Shift_Jis","","Shift_JIS",44,null],[13,"Euc_Jp","","EUC-JP",44,null],[13,"Iso_2022_Kr","","ISO-2022-KR",44,null],[13,"Euc_Kr","","EUC-KR",44,null],[13,"Iso_2022_Jp","","ISO-2022-JP",44,null],[13,"Iso_2022_Jp_2","","ISO-2022-JP-2",44,null],[13,"Iso_8859_6_E","","ISO-8859-6-E",44,null],[13,"Iso_8859_6_I","","ISO-8859-6-I",44,null],[13,"Iso_8859_8_E","","ISO-8859-8-E",44,null],[13,"Iso_8859_8_I","","ISO-8859-8-I",44,null],[13,"Gb2312","","GB2312",44,null],[13,"Big5","","Big5",44,null],[13,"Koi8_R","","KOI8-R",44,null],[13,"Ext","","An arbitrary charset specified as a string",44,null],[3,"ContentLanguage","","`Content-Language` header, defined in\n[RFC7231](https://tools.ietf.org/html/rfc7231#section-3.1.3.2)",null,null],[12,"0","","",45,null],[4,"ProtocolName","","A protocol name used to identify a spefic protocol. Names are case-sensitive\nexcept for the `WebSocket` value.",null,null],[13,"Http","","`HTTP` value, Hypertext Transfer Protocol",46,null],[13,"Tls","","`TLS` value, Transport Layer Security [RFC2817](http://tools.ietf.org/html/rfc2817)",46,null],[13,"WebSocket","","`WebSocket` value, matched case insensitively,Web Socket Protocol\n[RFC6455](http://tools.ietf.org/html/rfc6455)",46,null],[13,"H2c","","`h2c` value, HTTP/2 over cleartext TCP",46,null],[13,"Unregistered","","Any other protocol name not known to hyper",46,null],[3,"Date","","`Date` header, defined in [RFC7231](http://tools.ietf.org/html/rfc7231#section-7.1.1.2)",null,null],[12,"0","","",47,null],[5,"qitem","","Convinience function to wrap a value in a `QualityItem`\nSets `q` to the default 1.0",null,{"inputs":[{"name":"t"}],"output":{"name":"qualityitem"}}],[4,"CacheDirective","","CacheControl contains a list of these directives.",null,null],[13,"NoCache","",""no-cache"",48,null],[13,"NoStore","",""no-store"",48,null],[13,"NoTransform","",""no-transform"",48,null],[13,"OnlyIfCached","",""only-if-cached"",48,null],[13,"MaxAge","",""max-age=delta"",48,null],[13,"MaxStale","",""max-stale=delta"",48,null],[13,"MinFresh","",""min-fresh=delta"",48,null],[13,"MustRevalidate","",""must-revalidate"",48,null],[13,"Public","",""public"",48,null],[13,"Private","",""private"",48,null],[13,"ProxyRevalidate","",""proxy-revalidate"",48,null],[13,"SMaxAge","",""s-maxage=delta"",48,null],[13,"Extension","","Extension directives. Optionally include an argument.",48,null],[3,"ContentRange","","`Content-Range` header, defined in\n[RFC7233](http://tools.ietf.org/html/rfc7233#section-4.2)",null,null],[12,"0","","",49,null],[3,"Bearer","","Token holder for Bearer Authentication, most often seen with oauth",null,null],[12,"token","","Actual bearer token as a string",50,null],[3,"ContentEncoding","","`Content-Encoding` header, defined in\n[RFC7231](http://tools.ietf.org/html/rfc7231#section-3.1.2.2)",null,null],[12,"0","","",51,null],[3,"Quality","","Represents a quality used in quality values.",null,null],[12,"0","","",52,null],[3,"Location","","`Location` header, defined in\n[RFC7231](http://tools.ietf.org/html/rfc7231#section-7.1.2)",null,null],[12,"0","","",53,null],[4,"Expect","","The `Expect` header.",null,null],[13,"Continue","","The value `100-continue`.",54,null],[3,"IfUnmodifiedSince","","`If-Unmodified-Since` header, defined in\n[RFC7232](http://tools.ietf.org/html/rfc7232#section-3.4)",null,null],[12,"0","","",55,null],[3,"UserAgent","","`User-Agent` header, defined in\n[RFC7231](http://tools.ietf.org/html/rfc7231#section-5.5.3)",null,null],[12,"0","","",56,null],[3,"AccessControlAllowMethods","","`Access-Control-Allow-Methods` header, part of\n[CORS](http://www.w3.org/TR/cors/#access-control-allow-methods-response-header)",null,null],[12,"0","","",57,null],[3,"Allow","","`Allow` header, defined in [RFC7231](http://tools.ietf.org/html/rfc7231#section-7.4.1)",null,null],[12,"0","","",58,null],[3,"SetCookie","","`Set-Cookie` header, defined [RFC6265](http://tools.ietf.org/html/rfc6265#section-4.1)",null,null],[12,"0","","",59,null],[4,"RangeUnit","","Range Units, described in [RFC7233](http://tools.ietf.org/html/rfc7233#section-2)",null,null],[13,"Bytes","","Indicating byte-range requests are supported.",60,null],[13,"None","","Reserved as keyword, indicating no ranges are supported.",60,null],[13,"Unregistered","","The given range unit is not registered at IANA.",60,null],[3,"QualityItem","","Represents an item with a quality value as defined in\n[RFC7231](https://tools.ietf.org/html/rfc7231#section-5.3.1).",null,null],[12,"item","","The actual contents of the field.",61,null],[12,"quality","","The quality (client or server preference) for the value.",61,null],[3,"TransferEncoding","","`Transfer-Encoding` header, defined in\n[RFC7230](http://tools.ietf.org/html/rfc7230#section-3.3.1)",null,null],[12,"0","","",62,null],[4,"ByteRangeSpec","","Each Range::Bytes header can contain one or more ByteRangeSpecs.\nEach ByteRangeSpec defines a range of bytes to fetch",null,null],[13,"FromTo","","Get all bytes between x and y ("x-y")",63,null],[13,"AllFrom","","Get all bytes starting from x ("x-")",63,null],[13,"Last","","Get last x bytes ("-x")",63,null],[8,"Scheme","","An Authorization scheme to be used in the header.",null,null],[10,"scheme","","An optional Scheme name.",64,{"inputs":[],"output":{"name":"option"}}],[10,"fmt_scheme","","Format the Scheme data into a header value.",64,null],[4,"Vary","","`Vary` header, defined in [RFC7231](https://tools.ietf.org/html/rfc7231#section-7.1.4)",null,null],[13,"Any","","Any value is a match",65,null],[13,"Items","","Only the listed items are a match",65,null],[3,"HttpDate","","A `time::Time` with HTTP formatting and parsing",null,null],[12,"0","","",66,null],[4,"Range","","`Range` header, defined in [RFC7233](https://tools.ietf.org/html/rfc7233#section-3.1)",null,null],[13,"Bytes","","Byte range",67,null],[13,"Unregistered","","Custom range, with unit not registered at IANA\n(`other-range-unit`: String , `other-range-set`: String)",67,null],[3,"EntityTag","","An entity tag, defined in [RFC7232](https://tools.ietf.org/html/rfc7232#section-2.3)",null,null],[12,"weak","","Weakness indicator for the tag",68,null],[4,"IfMatch","","`If-Match` header, defined in\n[RFC7232](https://tools.ietf.org/html/rfc7232#section-3.1)",null,null],[13,"Any","","Any value is a match",69,null],[13,"Items","","Only the listed items are a match",69,null],[4,"Pragma","","The `Pragma` header defined by HTTP/1.0.",null,null],[13,"NoCache","","Corresponds to the `no-cache` value.",70,null],[13,"Ext","","Every value other than `no-cache`.",70,null],[6,"HttpResult","rustful","",null,null],[4,"HttpError","","A set of errors that can occur parsing HTTP streams.",null,null],[13,"Method","","An invalid `Method`, such as `GE,T`.",71,null],[13,"Uri","","An invalid `RequestUri`, such as `exam ple.domain`.",71,null],[13,"Version","","An invalid `HttpVersion`, such as `HTP/1.1`",71,null],[13,"Header","","An invalid `Header`.",71,null],[13,"TooLarge","","A message head is too large to be reasonable.",71,null],[13,"Status","","An invalid `Status`, such as `1337 ELITE`.",71,null],[13,"Io","","An `io::Error` that occurred while trying to read or write to a network stream.",71,null],[13,"Ssl","","An error from a SSL library.",71,null],[13,"Http2","","An HTTP/2-specific error, coming from the `solicit` library.",71,null],[13,"Utf8","","Parsing a field as string failed",71,null],[4,"HttpVersion","","Represents a version of the HTTP spec.",null,null],[13,"Http09","","`HTTP/0.9`",72,null],[13,"Http10","","`HTTP/1.0`",72,null],[13,"Http11","","`HTTP/1.1`",72,null],[13,"Http20","","`HTTP/2.0`",72,null],[3,"TreeRouter","","Stores handlers, using an HTTP method and a route as key.",null,null],[12,"find_hyperlinks","","Should the router search for hyperlinks? Setting this to `true` may\nslow down endpoint search, but enables hyperlinks.",73,null],[0,"server","","Server configuration and instance.",null,null],[3,"Listening","rustful::server","A listening server, which can later be closed.",null,null],[12,"socket","","The socket addresses that the server is bound to.",74,null],[3,"ServerInstance","","A runnable instance of a server.",null,null],[3,"Host","","A host address and a port.",null,null],[3,"Global","","A somewhat lazy container for globally accessible data.",null,null],[3,"KeepAlive","","Settings for `keep-alive` connections to the server.",null,null],[12,"timeout","","How long a `keep-alive` connection may idle before it's forced close.",75,null],[12,"free_threads","","The number of threads in the thread pool that should be kept free from\nidling threads. Connections will be closed if the number of idle\nthreads goes below this.",75,null],[3,"Server","","Used to set up and run a server.",null,null],[12,"handlers","","One or several response handlers.",76,null],[12,"fallback_handler","","A fallback handler for when none is found in `handlers`. Leaving this\nunspecified will cause an empty `404` response to be automatically sent\ninstead.",76,null],[12,"host","","The host address and port where the server will listen for requests.\nDefault is `0.0.0.0:80`.",76,null],[12,"scheme","","Use good old HTTP or the more secure HTTPS. Default is HTTP.",76,null],[12,"threads","","The number of threads to be used in the server thread pool. The default\n(`None`) will cause the server to optimistically use the formula\n`(num_cores * 5) / 4`.",76,null],[12,"keep_alive","","The server's `keep-alive` policy. Setting this to `Some(...)` will\nallow `keep-alive` connections with a timeout, and keeping it as `None`\nwill force connections to close after each request. Default is `None`.",76,null],[12,"server","","The content of the server header. Default is `"rustful"`.",76,null],[12,"content_type","","The default media type. Default is `text/plain, charset: UTF-8`.",76,null],[12,"global","","Globally accessible data.",76,null],[12,"context_filters","","The context filter stack.",76,null],[12,"response_filters","","The response filter stack.",76,null],[4,"Scheme","","HTTP or HTTPS.",null,null],[13,"Http","","Standard HTTP.",77,null],[13,"Https","","HTTP with SSL encryption.",77,null],[12,"cert","rustful::server::Scheme","Path to SSL certificate.",77,null],[12,"key","","Path to key file.",77,null],[11,"new","rustful::server","Create a new server instance, with the provided configuration. This is\nthe same as `Server{...}.build()`.",78,null],[11,"run","","Start the server.",78,null],[11,"handle","","",78,null],[11,"on_connection_start","","",78,null],[11,"on_connection_end","","",78,null],[11,"clone","","",79,null],[11,"hash","","",79,null],[11,"fmt","","",79,null],[11,"eq","","",79,null],[11,"ne","","",79,null],[11,"any_v4","","Create a `Host` with the address `0.0.0.0:port`. This is the same as `port.into()`.",79,{"inputs":[{"name":"u16"}],"output":{"name":"host"}}],[11,"port","","Change the port of the host address.",79,null],[11,"from","","",79,{"inputs":[{"name":"u16"}],"output":{"name":"host"}}],[11,"from","","",79,{"inputs":[{"name":"socketaddr"}],"output":{"name":"host"}}],[11,"from","","",79,{"inputs":[{"name":"socketaddrv4"}],"output":{"name":"host"}}],[11,"from","","",79,{"inputs":[{"name":"socketaddrv6"}],"output":{"name":"host"}}],[11,"from","","",79,null],[11,"from_str","","",79,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"get","","Borrow a value of type `T` if the there is one.",80,null],[11,"insert","","Insert a new value, returning the previous value of the same type, if\nany.",80,null],[11,"from","","",80,{"inputs":[{"name":"box"}],"output":{"name":"global"}}],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"from","","",80,null],[11,"default","","",80,{"inputs":[],"output":{"name":"global"}}],[11,"new","","Set up a new standard server. This can be useful when `handlers`\ndoesn't implement `Default`:",76,{"inputs":[{"name":"r"}],"output":{"name":"server"}}],[11,"run","","Start the server.",76,null],[11,"build","","Build a runnable instance of the server.",76,null],[11,"default","","",76,{"inputs":[],"output":{"name":"server"}}],[0,"router","rustful","Routers stores request handlers, using an HTTP method and a path as keys.",null,null],[3,"TreeRouter","rustful::router","Stores handlers, using an HTTP method and a route as key.",null,null],[12,"find_hyperlinks","","Should the router search for hyperlinks? Setting this to `true` may\nslow down endpoint search, but enables hyperlinks.",73,null],[3,"Endpoint","","API endpoint data.",null,null],[12,"handler","","A request handler, if found.",81,null],[12,"variables","","Path variables for the matching endpoint. May be empty, depending on\nthe router implementation.",81,null],[12,"hyperlinks","","Any associated hyperlinks.",81,null],[4,"RouteIter","","Utility iterator for when a root path may be hard to represent.",null,null],[13,"Root","","A root path (`/`).",82,null],[13,"Path","","A non-root path (`path/to/somewhere`).",82,null],[11,"clone","rustful","",73,null],[11,"new","","Creates an empty `TreeRouter`.",73,{"inputs":[],"output":{"name":"treerouter"}}],[11,"insert_router","","Insert an other TreeRouter at a path. The content of the other TreeRouter will be merged with this one and\ncontent with the same path and method will be overwritten.",73,null],[11,"find","","",73,null],[11,"insert","","",73,null],[11,"from_iter","","Create a `TreeRouter` from a collection of routes.",73,{"inputs":[{"name":"i"}],"output":{"name":"treerouter"}}],[11,"default","","",73,{"inputs":[],"output":{"name":"treerouter"}}],[8,"Router","rustful::router","A common trait for routers.",null,null],[16,"Handler","","The request handler type that is stored within this router.",83,null],[10,"insert","","Insert a new handler into the router.",83,null],[10,"find","","Find and return the matching handler and variable values.",83,null],[8,"Route","","A segmented route.",null,null],[16,"Segments","","An iterator over route segments.",84,null],[10,"segments","","Create a route segment iterator. The iterator is expected to return\nNone for a root path (`/`).",84,null],[11,"from","","",81,{"inputs":[{"name":"option"}],"output":{"name":"endpoint"}}],[11,"next","","",82,null],[11,"size_hint","","",82,null],[0,"handler","rustful","Request handlers.",null,null],[8,"Handler","rustful::handler","A trait for request handlers.",null,null],[10,"handle_request","","Handle a request from the client. Panicking within this method is\ndiscouraged, to allow the server to run smoothly.",85,null],[11,"description","","Get a description for the handler.",85,null],[0,"context","rustful","Handler context and request body reading extensions.",null,null],[3,"Buffer","rustful::context","A byte buffer for more efficient `MaybeUtf8` manipulation.",null,null],[3,"Parameters","","An extended `HashMap` with extra functionality for value parsing.",null,null],[3,"Context","","A container for handler input, like request data and utilities.",null,null],[12,"headers","","Headers from the HTTP request.",86,null],[12,"http_version","","The HTTP version used in the request.",86,null],[12,"address","","The client address",86,null],[12,"method","","The HTTP method.",86,null],[12,"uri","","The requested URI.",86,null],[12,"hyperlinks","","Hyperlinks from the current endpoint.",86,null],[12,"variables","","Route variables.",86,null],[12,"query","","Query variables from the path.",86,null],[12,"fragment","","The fragment part of the URL (after #), if provided.",86,null],[12,"global","","Globally accessible data.",86,null],[12,"body","","A reader for the request body.",86,null],[4,"MaybeUtf8","","String data that may or may not be UTF-8 encoded.",null,null],[13,"Utf8","","A UTF-8 encoded string.",87,null],[13,"NotUtf8","","A non-UTF-8 string.",87,null],[4,"Uri","","A URI that can be a path or an asterisk (`*`).",null,null],[13,"Path","","A path URI.",88,null],[13,"Asterisk","","An asterisk (`*`) URI.",88,null],[0,"body","","Anything related to reading the request body.",null,null],[3,"BodyReader","rustful::context::body","A reader for a request body.",null,null],[3,"MultipartRequest","","A specialized request representation for the multipart interface.",null,null],[11,"as_multipart","","Try to create a `multipart/form-data` reader from the request body.",89,null],[11,"read_query_body","","Read and parse the request body as a query string. The body will be\ndecoded as UTF-8 and plain '+' characters will be replaced with spaces.",89,null],[11,"read_json_body","","Read the request body into a generic JSON structure. This structure can\nthen be navigated and parsed freely.",89,null],[11,"decode_json_body","","Read and decode a request body as a type `T`. The target type must\nimplement `rustc_serialize::Decodable`.",89,null],[11,"read","","Read the request body.",89,null],[11,"multipart_boundary","","",90,null],[11,"read","","Read the request body.",90,null],[0,"hypermedia","rustful::context","Anything related to hypermedia and hyperlinks.",null,null],[3,"Link","rustful::context::hypermedia","A hyperlink.",null,null],[12,"method","","The HTTP method for which an endpoint is available. It can be left\nunspecified if the method doesn't matter.",91,null],[12,"path","","A relative path from the current location.",91,null],[12,"handler","","The handler that will answer at the endpoint.",91,null],[3,"LinkSegment","","A segment of a hyperlink path.",null,null],[12,"label","","The expected static segment or the name of a variable segment. Variable\nsegments are allowed to have an empty string as label if it's unknown or\nunimportant.",92,null],[12,"ty","","The type of the segment (e.g. static or variable).",92,null],[4,"SegmentType","","The type of a hyperlink segment.",null,null],[13,"Static","","A static part of a path.",93,null],[13,"VariableSegment","","A single dynamic part of a path. This will match one arbitrary path segment.",93,null],[13,"VariableSequence","","A dynamic sequence of segments. This works like a variable segment, but\nwill match one or more segments until the rest of the pattern matches.",93,null],[11,"fmt","","",91,null],[11,"fmt","","",92,null],[11,"eq","","",92,null],[11,"ne","","",92,null],[11,"fmt","","",93,null],[11,"eq","","",93,null],[11,"clone","rustful::context","",87,null],[11,"fmt","","",87,null],[11,"new","","Create an empty UTF-8 string.",87,{"inputs":[],"output":{"name":"maybeutf8"}}],[11,"as_slice","","Produce a slice of this string.",87,null],[11,"as_utf8","","Borrow the string if it's encoded as valid UTF-8.",87,null],[11,"as_utf8_lossy","","Borrow the string if it's encoded as valid UTF-8, or make a lossy conversion.",87,null],[11,"as_bytes","","Borrow the string as a slice of bytes.",87,null],[11,"is_utf8","","Check if the string is valid UTF-8.",87,null],[11,"push_char","","Push a single `char` to the end of the string.",87,null],[11,"push_byte","","Push a single byte to the end of the string. The string's UTF-8\ncompatibility will be reevaluated and may change each time `push_byte`\nis called. This may have a noticeable performance impact.",87,null],[11,"push_str","","Extend the string.",87,null],[11,"push_bytes","","Push a number of bytes to the string. The string's UTF-8 compatibility\nmay change.",87,null],[11,"as_buffer","","Borrow this string as a mutable byte buffer. The string's UTF-8\ncompatibility will be reevaluated when the buffer is dropped.",87,null],[11,"from","","",87,{"inputs":[{"name":"string"}],"output":{"name":"maybeutf8"}}],[11,"from","","",87,{"inputs":[{"name":"str"}],"output":{"name":"maybeutf8"}}],[11,"from","","",87,{"inputs":[{"name":"vec"}],"output":{"name":"maybeutf8"}}],[11,"as_ref","","",87,null],[11,"borrow","","",87,null],[11,"eq","","",87,null],[11,"hash","","",87,null],[11,"into","","",87,null],[11,"into","","",87,null],[11,"deref","","",87,null],[11,"push_bytes","","Push a number of bytes to the buffer in a relatively efficient way.",94,null],[11,"push_char","","Push a single `char` to the end of the buffer.",94,null],[11,"deref","","",94,null],[11,"deref_mut","","",94,null],[11,"drop","","",94,null],[11,"clone","","",95,null],[11,"new","","Create an empty `Parameters`.",95,{"inputs":[],"output":{"name":"parameters"}}],[11,"get","","Get a parameter as a UTF-8 string. A lossy conversion will be performed\nif it's not encoded as UTF-8. Use `get_raw` to get the original data.",95,null],[11,"get_raw","","Get a parameter that may or may not be a UTF-8 string.",95,null],[11,"get_mut","","Get a mutable parameter that may or may not be a UTF-8 string.",95,null],[11,"contains_key","","Returns true if a parameter with the given key exists.",95,null],[11,"insert","","Insert a parameter.",95,null],[11,"remove","","Remove a parameter and return it.",95,null],[11,"entry","","Gets the given key's corresponding parameter in the map for in-place\nmanipulation.",95,null],[11,"parse","","Try to parse an entry as `T`, if it exists. The error will be `None` if\nthe entry does not exist, and `Some` if it does exists, but the parsing\nfailed.",95,null],[11,"parse_or","","Try to parse an entry as `T`, if it exists, or return the default in\n`or`.",95,null],[11,"parse_or_else","","Try to parse an entry as `T`, if it exists, or create a new one using\n`or_else`. The `or_else` function will receive the parsing error if the\nvalue existed, but was impossible to parse.",95,null],[11,"deref","","",95,null],[11,"deref_mut","","",95,null],[11,"as_ref","","",95,null],[11,"as_mut","","",95,null],[11,"into","","",95,null],[11,"from","","",95,{"inputs":[{"name":"hashmap"}],"output":{"name":"parameters"}}],[11,"eq","","",95,null],[11,"fmt","","",95,null],[11,"default","","",95,{"inputs":[],"output":{"name":"parameters"}}],[11,"into_iter","","",95,null],[11,"from_iter","","",95,{"inputs":[{"name":"t"}],"output":{"name":"parameters"}}],[11,"extend","","",95,null],[6,"MaybeUtf8Owned","","An owned string that may be UTF-8 encoded.",null,null],[6,"MaybeUtf8Slice","","A slice of a string that may be UTF-8 encoded.",null,null],[11,"eq","","",88,null],[11,"ne","","",88,null],[11,"fmt","","",88,null],[11,"clone","","",88,null],[11,"as_path","","Borrow the URI as a raw path.",88,null],[11,"as_utf8_path","","Borrow the URI as a UTF-8 path, if valid.",88,null],[11,"as_utf8_path_lossy","","Borrow the URI as a UTF-8 path, if valid, or convert it to a valid\nUTF-8 string.",88,null],[11,"is_path","","Check if the URI is a path.",88,null],[11,"is_asterisk","","Check if the URI is an asterisk (`*`).",88,null],[11,"fmt","","",88,null],[0,"response","rustful","Response writers.",null,null],[3,"Response","rustful::response","An interface for sending data to the client.",null,null],[3,"Chunked","","An interface for writing a chunked response body.",null,null],[3,"Raw","","A streaming fixed-size response.",null,null],[4,"Error","","The result of a response action.",null,null],[13,"Filter","","A response filter failed.",96,null],[13,"Io","","There was an IO error.",96,null],[4,"FileError","","Error that may occure while sending a file.",null,null],[13,"Open","","Failed to open the file.",97,null],[13,"Send","","Failed while sending the file.",97,null],[4,"Data","","A unified representation of response data.",null,null],[13,"Bytes","","Data in byte form.",98,null],[13,"String","","Data in string form.",98,null],[11,"fmt","","",96,null],[11,"from","","",96,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[11,"fmt","","",96,null],[11,"description","","",96,null],[11,"cause","","",96,null],[11,"recover_response","","Recover the response if the file couldn't be opened.",97,null],[11,"send_not_found","","Send a 404 (not found) response if the file wasn't found, or return\n`self` if any other error occurred.",97,null],[11,"ignore_send_error","","Ignore any error that might have occurred while sending the file.",97,null],[11,"into","","",97,null],[11,"fmt","","",97,null],[11,"fmt","","",97,null],[11,"description","","",97,null],[11,"cause","","",97,null],[11,"clone","","",98,null],[11,"as_bytes","","Borrow the content as a byte slice.",98,null],[11,"into_bytes","","Turns the content into a byte vector. Slices are copied.",98,null],[11,"as_string","","Borrow the content as a UTF-8 string slice, if possible.",98,null],[11,"into_string","","Turn the content into a UTF-8 string, if possible. Slices are copied.",98,null],[11,"status","","Get the current status code.",99,null],[11,"set_status","","Change the status code. `Ok (200)` is the default.",99,null],[11,"headers","","Get a reference to the headers.",99,null],[11,"headers_mut","","Get a mutable reference to the headers.",99,null],[11,"filter_storage","","Get a reference to the filter storage.",99,null],[11,"filter_storage_mut","","Get a mutable reference to the filter storage. It can be used to\ncommunicate with the response filters.",99,null],[11,"send","","Send data to the client and finish the response, ignoring eventual\nerrors. Use `try_send` to get error information.",99,null],[11,"try_send","","Try to send data to the client and finish the response. This is the\nsame as `send`, but errors are not ignored.",99,null],[11,"send_file","","Send a static file to the client.",99,null],[11,"send_file_with_mime","","Send a static file with a specified MIME type to the client.",99,null],[11,"into_chunked","","Write the status code and headers to the client and turn the `Response`\ninto a `Chunked` response.",99,null],[11,"into_raw","","Write the status code and headers to the client and turn the `Response`\ninto a `Raw` response. Any eventual response filters are bypassed to\nmake sure that the data is not modified.",99,null],[11,"drop","","Writes status code and headers and closes the connection.",99,null],[11,"filter_storage","","Get a reference to the filter storage.",100,null],[11,"filter_storage_mut","","Get a mutable reference to the filter storage. It can be used to\ncommunicate with the response filters.",100,null],[11,"send","","Send a chunk of data to the client, ignoring any eventual errors. Use\n`try_send` to get error information.",100,null],[11,"try_send","","Send a chunk of data to the client. This is the same as `send`, but\nerrors are not ignored.",100,null],[11,"end","","Finish writing the response and collect eventual errors.",100,null],[11,"write","","",100,null],[11,"write_all","","",100,null],[11,"flush","","",100,null],[11,"drop","","Finishes writing and closes the connection.",100,null],[11,"send","","Send a piece of data to the client, ignoring any eventual errors. Use\n`try_send` to get error information.",101,null],[11,"try_send","","Send a piece of data to the client. This is the same as `send`, but\nerrors are not ignored.",101,null],[11,"end","","Finish writing the response and collect eventual errors.",101,null],[11,"write","","",101,null],[11,"write_all","","",101,null],[11,"flush","","",101,null],[0,"filter","rustful","Request and context filters.",null,null],[3,"FilterContext","rustful::filter","Contextual tools for filters.",null,null],[12,"storage","","Shared storage for filters. It is local to the current request and\naccessible from the handler and all of the filters. It can be used to\nsend data between these units.",102,null],[12,"global","","Globally accessible data.",102,null],[4,"ContextAction","","The result from a context filter.",null,null],[13,"Next","","Continue to the next filter in the stack.",103,null],[13,"Abort","","Abort and set HTTP status.",103,null],[4,"ResponseAction","","The result from a response filter.",null,null],[13,"Next","","Continue to the next filter and maybe write data.",104,null],[13,"SilentAbort","","Do not continue to the next filter.",104,null],[13,"Abort","","Abort with an error.",104,null],[8,"ContextFilter","","A trait for context filters.",null,null],[10,"modify","","Try to modify the handler `Context`.",105,null],[8,"ResponseFilter","","A trait for response filters.",null,null],[10,"begin","","Set or modify headers before they are sent to the client and maybe initiate the body.",106,null],[10,"write","","Handle content before writing it to the body.",106,null],[10,"end","","End of body writing. Last chance to add content.",106,null],[11,"clone","","",103,null],[11,"next","","Continue to the next filter in the stack.",103,{"inputs":[],"output":{"name":"contextaction"}}],[11,"abort","","Abort and set HTTP status.",103,{"inputs":[{"name":"statuscode"}],"output":{"name":"contextaction"}}],[11,"clone","","",104,null],[11,"next","","Continue to the next filter and maybe write data.",104,{"inputs":[{"name":"option"}],"output":{"name":"responseaction"}}],[11,"silent_abort","","Do not continue to the next filter.",104,{"inputs":[],"output":{"name":"responseaction"}}],[11,"abort","","Abort with an error.",104,{"inputs":[{"name":"string"}],"output":{"name":"responseaction"}}],[0,"file","rustful","File related utilities.",null,null],[5,"ext_to_mime","rustful::file","Returns the MIME type from a given file extension, if known.",null,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[5,"check_path","","Check if a path tries to escape its parent directory.",null,{"inputs":[{"name":"p"}],"output":{"name":"result"}}],[14,"insert_routes!","rustful","The `insert_routes!` macro generates routes from the provided handlers and routing tree and\nadds them to the provided router. The router is then returned.",null,null],[14,"content_type!","","A macro for making content types.",null,null],[11,"as_str","rustful::mime","",0,null],[11,"fmt","","",4,null],[11,"clone","","",4,null],[11,"eq","","",4,null],[11,"fmt","","",3,null],[11,"clone","","",3,null],[11,"as_str","","",3,null],[11,"deref","","",3,null],[11,"eq","","",3,null],[11,"eq","","",3,null],[11,"eq","","",3,null],[11,"eq","","",3,null],[11,"fmt","","",3,null],[11,"from_str","","",3,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",2,null],[11,"clone","","",2,null],[11,"as_str","","",2,null],[11,"deref","","",2,null],[11,"eq","","",2,null],[11,"eq","","",2,null],[11,"eq","","",2,null],[11,"eq","","",2,null],[11,"fmt","","",2,null],[11,"from_str","","",2,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"deref","","",0,null],[11,"eq","","",0,null],[11,"eq","","",0,null],[11,"eq","","",0,null],[11,"eq","","",0,null],[11,"fmt","","",0,null],[11,"from_str","","",0,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",1,null],[11,"clone","","",1,null],[11,"as_str","","",1,null],[11,"deref","","",1,null],[11,"eq","","",1,null],[11,"eq","","",1,null],[11,"eq","","",1,null],[11,"eq","","",1,null],[11,"fmt","","",1,null],[11,"from_str","","",1,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",4,null],[11,"get_param","","",4,null],[11,"from_str","","",4,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"serialize","","",4,null],[11,"deserialize","","",4,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"safe","rustful","Whether a method is considered "safe", meaning the request is\nessentially read-only.",5,null],[11,"idempotent","","Whether a method is considered "idempotent", meaning the request has\nthe same result is executed multiple times.",5,null],[11,"fmt","","",71,null],[11,"fmt","","",71,null],[11,"description","","",71,null],[11,"cause","","",71,null],[11,"from","","",71,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[11,"from","","",71,{"inputs":[{"name":"parseerror"}],"output":{"name":"error"}}],[11,"from","","",71,{"inputs":[{"name":"sslerror"}],"output":{"name":"error"}}],[11,"from","","",71,{"inputs":[{"name":"utf8error"}],"output":{"name":"error"}}],[11,"from","","",71,{"inputs":[{"name":"fromutf8error"}],"output":{"name":"error"}}],[11,"from","","",71,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[11,"from","","",71,{"inputs":[{"name":"httperror"}],"output":{"name":"error"}}],[11,"fmt","","",5,null],[11,"hash","","",5,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"clone","","",5,null],[11,"as_ref","","",5,null],[11,"from_str","","",5,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",5,null],[11,"eq","rustful::header","",23,null],[11,"ne","","",23,null],[11,"fmt","","",23,null],[11,"clone","","",23,null],[11,"deref","","",23,null],[11,"deref_mut","","",23,null],[11,"header_name","","",23,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",23,null],[11,"fmt_header","","",23,null],[11,"fmt","","",23,null],[11,"eq","","",34,null],[11,"ne","","",34,null],[11,"fmt","","",34,null],[11,"clone","","",34,null],[11,"deref","","",34,null],[11,"deref_mut","","",34,null],[11,"header_name","","",34,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",34,null],[11,"fmt_header","","",34,null],[11,"fmt","","",34,null],[11,"eq","","",57,null],[11,"ne","","",57,null],[11,"fmt","","",57,null],[11,"clone","","",57,null],[11,"deref","","",57,null],[11,"deref_mut","","",57,null],[11,"header_name","","",57,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",57,null],[11,"fmt_header","","",57,null],[11,"fmt","","",57,null],[11,"fmt","","",39,null],[11,"eq","","",39,null],[11,"ne","","",39,null],[11,"clone","","",39,null],[11,"header_name","","",39,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",39,null],[11,"fmt_header","","",39,null],[11,"fmt","","",39,null],[11,"eq","","",22,null],[11,"ne","","",22,null],[11,"fmt","","",22,null],[11,"clone","","",22,null],[11,"deref","","",22,null],[11,"deref_mut","","",22,null],[11,"header_name","","",22,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",22,null],[11,"fmt_header","","",22,null],[11,"fmt","","",22,null],[11,"eq","","",20,null],[11,"ne","","",20,null],[11,"fmt","","",20,null],[11,"clone","","",20,null],[11,"deref","","",20,null],[11,"deref_mut","","",20,null],[11,"header_name","","",20,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",20,null],[11,"fmt_header","","",20,null],[11,"fmt","","",20,null],[11,"eq","","",12,null],[11,"ne","","",12,null],[11,"fmt","","",12,null],[11,"clone","","",12,null],[11,"deref","","",12,null],[11,"deref_mut","","",12,null],[11,"header_name","","",12,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",12,null],[11,"fmt_header","","",12,null],[11,"fmt","","",12,null],[11,"eq","","",30,null],[11,"ne","","",30,null],[11,"fmt","","",30,null],[11,"clone","","",30,null],[11,"deref","","",30,null],[11,"deref_mut","","",30,null],[11,"header_name","","",30,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",30,null],[11,"fmt_header","","",30,null],[11,"fmt","","",30,null],[11,"eq","","",29,null],[11,"ne","","",29,null],[11,"fmt","","",29,null],[11,"clone","","",29,null],[11,"deref","","",29,null],[11,"deref_mut","","",29,null],[11,"header_name","","",29,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",29,null],[11,"fmt_header","","",29,null],[11,"fmt","","",29,null],[11,"eq","","",40,null],[11,"ne","","",40,null],[11,"fmt","","",40,null],[11,"clone","","",40,null],[11,"deref","","",40,null],[11,"deref_mut","","",40,null],[11,"header_name","","",40,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",40,null],[11,"fmt_header","","",40,null],[11,"fmt","","",40,null],[11,"eq","","",27,null],[11,"ne","","",27,null],[11,"fmt","","",27,null],[11,"clone","","",27,null],[11,"deref","","",27,null],[11,"deref_mut","","",27,null],[11,"header_name","","",27,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",27,null],[11,"fmt_header","","",27,null],[11,"fmt","","",27,null],[11,"eq","","",33,null],[11,"ne","","",33,null],[11,"fmt","","",33,null],[11,"clone","","",33,null],[11,"deref","","",33,null],[11,"deref_mut","","",33,null],[11,"header_name","","",33,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",33,null],[11,"fmt_header","","",33,null],[11,"fmt","","",33,null],[11,"eq","","",60,null],[11,"ne","","",60,null],[11,"fmt","","",60,null],[11,"clone","","",60,null],[11,"from_str","","",60,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",60,null],[11,"eq","","",58,null],[11,"ne","","",58,null],[11,"fmt","","",58,null],[11,"clone","","",58,null],[11,"deref","","",58,null],[11,"deref_mut","","",58,null],[11,"header_name","","",58,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",58,null],[11,"fmt_header","","",58,null],[11,"fmt","","",58,null],[11,"fmt","","",24,null],[11,"eq","","",24,null],[11,"ne","","",24,null],[11,"clone","","",24,null],[11,"deref","","",24,null],[11,"deref_mut","","",24,null],[11,"header_name","","",24,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",24,null],[11,"fmt_header","","",24,null],[11,"fmt","","",28,null],[11,"eq","","",28,null],[11,"ne","","",28,null],[11,"clone","","",28,null],[11,"scheme","","",28,{"inputs":[],"output":{"name":"option"}}],[11,"fmt_scheme","","",28,null],[11,"from_str","","",28,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",50,null],[11,"eq","","",50,null],[11,"ne","","",50,null],[11,"clone","","",50,null],[11,"scheme","","",50,{"inputs":[],"output":{"name":"option"}}],[11,"fmt_scheme","","",50,null],[11,"from_str","","",50,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",19,null],[11,"clone","","",19,null],[11,"eq","","",19,null],[11,"ne","","",19,null],[11,"deref","","",19,null],[11,"deref_mut","","",19,null],[11,"header_name","","",19,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",19,null],[11,"fmt_header","","",19,null],[11,"fmt","","",48,null],[11,"clone","","",48,null],[11,"eq","","",48,null],[11,"ne","","",48,null],[11,"fmt","","",48,null],[11,"from_str","","",48,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",13,null],[11,"eq","","",13,null],[11,"ne","","",13,null],[11,"clone","","",13,null],[11,"deref","","",13,null],[11,"deref_mut","","",13,null],[11,"header_name","","",13,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",13,null],[11,"fmt_header","","",13,null],[11,"to_cookie_jar","","This method can be used to create CookieJar that can be used\nto manipulate cookies and create a corresponding `SetCookie` header afterwards.",13,null],[11,"from_cookie_jar","","Extracts all cookies from `CookieJar` and creates Cookie header.\nUseful for clients.",13,{"inputs":[{"name":"cookiejar"}],"output":{"name":"cookie"}}],[11,"fmt","","",16,null],[11,"eq","","",16,null],[11,"ne","","",16,null],[11,"clone","","",16,null],[11,"from_str","","",16,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",16,null],[11,"eq","","",43,null],[11,"ne","","",43,null],[11,"fmt","","",43,null],[11,"clone","","",43,null],[11,"deref","","",43,null],[11,"deref_mut","","",43,null],[11,"header_name","","",43,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",43,null],[11,"fmt_header","","",43,null],[11,"fmt","","",43,null],[11,"close","","A constructor to easily create a `Connection: close` header.",43,{"inputs":[],"output":{"name":"connection"}}],[11,"keep_alive","","A constructor to easily create a `Connection: keep-alive` header.",43,{"inputs":[],"output":{"name":"connection"}}],[11,"eq","","",51,null],[11,"ne","","",51,null],[11,"fmt","","",51,null],[11,"clone","","",51,null],[11,"deref","","",51,null],[11,"deref_mut","","",51,null],[11,"header_name","","",51,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",51,null],[11,"fmt_header","","",51,null],[11,"fmt","","",51,null],[11,"eq","","",45,null],[11,"ne","","",45,null],[11,"fmt","","",45,null],[11,"clone","","",45,null],[11,"deref","","",45,null],[11,"deref_mut","","",45,null],[11,"header_name","","",45,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",45,null],[11,"fmt_header","","",45,null],[11,"fmt","","",45,null],[11,"eq","","",37,null],[11,"ne","","",37,null],[11,"fmt","","",37,null],[11,"clone","","",37,null],[11,"header_name","","",37,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",37,null],[11,"fmt_header","","",37,null],[11,"fmt","","",37,null],[11,"deref","","",37,null],[11,"deref_mut","","",37,null],[11,"eq","","",49,null],[11,"ne","","",49,null],[11,"fmt","","",49,null],[11,"clone","","",49,null],[11,"deref","","",49,null],[11,"deref_mut","","",49,null],[11,"header_name","","",49,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",49,null],[11,"fmt_header","","",49,null],[11,"fmt","","",49,null],[11,"fmt","","",17,null],[11,"clone","","",17,null],[11,"eq","","",17,null],[11,"ne","","",17,null],[11,"from_str","","",17,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",17,null],[11,"eq","","",10,null],[11,"ne","","",10,null],[11,"fmt","","",10,null],[11,"clone","","",10,null],[11,"deref","","",10,null],[11,"deref_mut","","",10,null],[11,"header_name","","",10,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",10,null],[11,"fmt_header","","",10,null],[11,"fmt","","",10,null],[11,"json","","A constructor to easily create a `Content-Type: application/json; charset=utf-8` header.",10,{"inputs":[],"output":{"name":"contenttype"}}],[11,"plaintext","","A constructor to easily create a `Content-Type: text/plain; charset=utf-8` header.",10,{"inputs":[],"output":{"name":"contenttype"}}],[11,"html","","A constructor to easily create a `Content-Type: text/html; charset=utf-8` header.",10,{"inputs":[],"output":{"name":"contenttype"}}],[11,"form_url_encoded","","A constructor to easily create a `Content-Type: application/www-form-url-encoded` header.",10,{"inputs":[],"output":{"name":"contenttype"}}],[11,"jpeg","","A constructor to easily create a `Content-Type: image/jpeg` header.",10,{"inputs":[],"output":{"name":"contenttype"}}],[11,"png","","A constructor to easily create a `Content-Type: image/png` header.",10,{"inputs":[],"output":{"name":"contenttype"}}],[11,"eq","","",47,null],[11,"ne","","",47,null],[11,"fmt","","",47,null],[11,"clone","","",47,null],[11,"deref","","",47,null],[11,"deref_mut","","",47,null],[11,"header_name","","",47,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",47,null],[11,"fmt_header","","",47,null],[11,"fmt","","",47,null],[11,"eq","","",31,null],[11,"ne","","",31,null],[11,"fmt","","",31,null],[11,"clone","","",31,null],[11,"new","","Constructs a new EntityTag.\n# Panics\nIf the tag contains invalid characters.",68,{"inputs":[{"name":"bool"},{"name":"string"}],"output":{"name":"entitytag"}}],[11,"weak","","Constructs a new weak EntityTag.\n# Panics\nIf the tag contains invalid characters.",68,{"inputs":[{"name":"string"}],"output":{"name":"entitytag"}}],[11,"strong","","Constructs a new strong EntityTag.\n# Panics\nIf the tag contains invalid characters.",68,{"inputs":[{"name":"string"}],"output":{"name":"entitytag"}}],[11,"tag","","Get the tag.",68,null],[11,"set_tag","","Set the tag.\n# Panics\nIf the tag contains invalid characters.",68,null],[11,"strong_eq","","For strong comparison two entity-tags are equivalent if both are not weak and their\nopaque-tags match character-by-character.",68,null],[11,"weak_eq","","For weak comparison two entity-tags are equivalent if their\nopaque-tags match character-by-character, regardless of either or\nboth being tagged as "weak".",68,null],[11,"strong_ne","","The inverse of `EntityTag.strong_eq()`.",68,null],[11,"weak_ne","","The inverse of `EntityTag.weak_eq()`.",68,null],[11,"deref","","",31,null],[11,"deref_mut","","",31,null],[11,"header_name","","",31,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",31,null],[11,"fmt_header","","",31,null],[11,"fmt","","",31,null],[11,"fmt","","",54,null],[11,"eq","","",54,null],[11,"clone","","",54,null],[11,"header_name","","",54,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",54,null],[11,"fmt_header","","",54,null],[11,"eq","","",14,null],[11,"ne","","",14,null],[11,"fmt","","",14,null],[11,"clone","","",14,null],[11,"deref","","",14,null],[11,"deref_mut","","",14,null],[11,"header_name","","",14,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",14,null],[11,"fmt_header","","",14,null],[11,"fmt","","",14,null],[11,"eq","","",11,null],[11,"ne","","",11,null],[11,"fmt","","",11,null],[11,"clone","","",11,null],[11,"deref","","",11,null],[11,"deref_mut","","",11,null],[11,"header_name","","",11,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",11,null],[11,"fmt_header","","",11,null],[11,"fmt","","",11,null],[11,"fmt","","",25,null],[11,"eq","","",25,null],[11,"ne","","",25,null],[11,"clone","","",25,null],[11,"header_name","","",25,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",25,null],[11,"fmt_header","","",25,null],[11,"eq","","",69,null],[11,"ne","","",69,null],[11,"fmt","","",69,null],[11,"clone","","",69,null],[11,"header_name","","",69,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",69,null],[11,"fmt_header","","",69,null],[11,"fmt","","",69,null],[11,"eq","","",15,null],[11,"ne","","",15,null],[11,"fmt","","",15,null],[11,"clone","","",15,null],[11,"deref","","",15,null],[11,"deref_mut","","",15,null],[11,"header_name","","",15,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",15,null],[11,"fmt_header","","",15,null],[11,"fmt","","",15,null],[11,"eq","","",35,null],[11,"ne","","",35,null],[11,"fmt","","",35,null],[11,"clone","","",35,null],[11,"header_name","","",35,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",35,null],[11,"fmt_header","","",35,null],[11,"fmt","","",35,null],[11,"eq","","",26,null],[11,"ne","","",26,null],[11,"fmt","","",26,null],[11,"clone","","",26,null],[11,"header_name","","",26,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",26,null],[11,"fmt_header","","",26,null],[11,"fmt","","",26,null],[11,"eq","","",55,null],[11,"ne","","",55,null],[11,"fmt","","",55,null],[11,"clone","","",55,null],[11,"deref","","",55,null],[11,"deref_mut","","",55,null],[11,"header_name","","",55,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",55,null],[11,"fmt_header","","",55,null],[11,"fmt","","",55,null],[11,"eq","","",42,null],[11,"ne","","",42,null],[11,"fmt","","",42,null],[11,"clone","","",42,null],[11,"deref","","",42,null],[11,"deref_mut","","",42,null],[11,"header_name","","",42,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",42,null],[11,"fmt_header","","",42,null],[11,"fmt","","",42,null],[11,"eq","","",53,null],[11,"ne","","",53,null],[11,"fmt","","",53,null],[11,"clone","","",53,null],[11,"deref","","",53,null],[11,"deref_mut","","",53,null],[11,"header_name","","",53,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",53,null],[11,"fmt_header","","",53,null],[11,"fmt","","",53,null],[11,"fmt","","",70,null],[11,"eq","","",70,null],[11,"ne","","",70,null],[11,"clone","","",70,null],[11,"header_name","","",70,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",70,null],[11,"fmt_header","","",70,null],[11,"fmt","","",67,null],[11,"clone","","",67,null],[11,"eq","","",67,null],[11,"ne","","",67,null],[11,"fmt","","",63,null],[11,"clone","","",63,null],[11,"eq","","",63,null],[11,"ne","","",63,null],[11,"bytes","","Get the most common byte range header ("bytes=from-to")",67,{"inputs":[{"name":"u64"},{"name":"u64"}],"output":{"name":"range"}}],[11,"bytes_multi","","Get byte range header with multiple subranges\n("bytes=from1-to1,from2-to2,fromX-toX")",67,{"inputs":[{"name":"vec"}],"output":{"name":"range"}}],[11,"fmt","","",63,null],[11,"fmt","","",67,null],[11,"from_str","","",67,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"from_str","","",63,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"header_name","","",67,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",67,null],[11,"fmt_header","","",67,null],[11,"eq","","",38,null],[11,"ne","","",38,null],[11,"fmt","","",38,null],[11,"clone","","",38,null],[11,"deref","","",38,null],[11,"deref_mut","","",38,null],[11,"header_name","","",38,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",38,null],[11,"fmt_header","","",38,null],[11,"fmt","","",38,null],[11,"eq","","",18,null],[11,"ne","","",18,null],[11,"fmt","","",18,null],[11,"clone","","",18,null],[11,"deref","","",18,null],[11,"deref_mut","","",18,null],[11,"header_name","","",18,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",18,null],[11,"fmt_header","","",18,null],[11,"fmt","","",18,null],[11,"fmt","","",59,null],[11,"eq","","",59,null],[11,"ne","","",59,null],[11,"clone","","",59,null],[11,"deref","","",59,null],[11,"deref_mut","","",59,null],[11,"header_name","","",59,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",59,null],[11,"fmt_header","","",59,null],[11,"from_cookie_jar","","Use this to create SetCookie header from CookieJar using\ncalculated delta.",59,{"inputs":[{"name":"cookiejar"}],"output":{"name":"setcookie"}}],[11,"apply_to_cookie_jar","","Use this on client to apply changes from SetCookie to CookieJar.\nNote that this will `panic!` if `CookieJar` is not root.",59,null],[11,"fmt","","",32,null],[11,"eq","","",32,null],[11,"ne","","",32,null],[11,"clone","","",32,null],[11,"including_subdomains","","Create an STS header that includes subdomains",32,{"inputs":[{"name":"u64"}],"output":{"name":"stricttransportsecurity"}}],[11,"excluding_subdomains","","Create an STS header that excludes subdomains",32,{"inputs":[{"name":"u64"}],"output":{"name":"stricttransportsecurity"}}],[11,"from_str","","",32,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"header_name","","",32,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",32,null],[11,"fmt_header","","",32,null],[11,"eq","","",62,null],[11,"ne","","",62,null],[11,"fmt","","",62,null],[11,"clone","","",62,null],[11,"deref","","",62,null],[11,"deref_mut","","",62,null],[11,"header_name","","",62,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",62,null],[11,"fmt_header","","",62,null],[11,"fmt","","",62,null],[11,"eq","","",21,null],[11,"ne","","",21,null],[11,"fmt","","",21,null],[11,"clone","","",21,null],[11,"deref","","",21,null],[11,"deref_mut","","",21,null],[11,"header_name","","",21,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",21,null],[11,"fmt_header","","",21,null],[11,"fmt","","",21,null],[11,"eq","","",46,null],[11,"ne","","",46,null],[11,"fmt","","",46,null],[11,"clone","","",46,null],[11,"from_str","","",46,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",46,null],[11,"eq","","",41,null],[11,"ne","","",41,null],[11,"fmt","","",41,null],[11,"clone","","",41,null],[11,"new","","Creates a new Protocol with the given name and version",41,{"inputs":[{"name":"protocolname"},{"name":"option"}],"output":{"name":"protocol"}}],[11,"from_str","","",41,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",41,null],[11,"eq","","",56,null],[11,"ne","","",56,null],[11,"fmt","","",56,null],[11,"clone","","",56,null],[11,"deref","","",56,null],[11,"deref_mut","","",56,null],[11,"header_name","","",56,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",56,null],[11,"fmt_header","","",56,null],[11,"fmt","","",56,null],[11,"eq","","",65,null],[11,"ne","","",65,null],[11,"fmt","","",65,null],[11,"clone","","",65,null],[11,"header_name","","",65,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",65,null],[11,"fmt_header","","",65,null],[11,"fmt","","",65,null],[11,"eq","","",44,null],[11,"ne","","",44,null],[11,"fmt","","",44,null],[11,"clone","","",44,null],[11,"fmt","","",44,null],[11,"from_str","","",44,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",36,null],[11,"eq","","",36,null],[11,"ne","","",36,null],[11,"clone","","",36,null],[11,"fmt","","",36,null],[11,"from_str","","",36,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"eq","","",68,null],[11,"ne","","",68,null],[11,"fmt","","",68,null],[11,"clone","","",68,null],[11,"fmt","","",68,null],[11,"from_str","","",68,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"cmp","","",66,null],[11,"partial_cmp","","",66,null],[11,"lt","","",66,null],[11,"le","","",66,null],[11,"gt","","",66,null],[11,"ge","","",66,null],[11,"eq","","",66,null],[11,"ne","","",66,null],[11,"fmt","","",66,null],[11,"clone","","",66,null],[11,"from_str","","",66,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",66,null],[11,"partial_cmp","","",52,null],[11,"lt","","",52,null],[11,"le","","",52,null],[11,"gt","","",52,null],[11,"ge","","",52,null],[11,"eq","","",52,null],[11,"ne","","",52,null],[11,"cmp","","",52,null],[11,"fmt","","",52,null],[11,"clone","","",52,null],[11,"fmt","","",52,null],[11,"default","","",52,{"inputs":[],"output":{"name":"quality"}}],[11,"fmt","","",61,null],[11,"eq","","",61,null],[11,"ne","","",61,null],[11,"clone","","",61,null],[11,"new","","Creates a new `QualityItem` from an item and a quality.\nThe item can be of any type.\nThe quality should be a value in the range [0, 1].",61,{"inputs":[{"name":"t"},{"name":"quality"}],"output":{"name":"qualityitem"}}],[11,"partial_cmp","","",61,null],[11,"fmt","","",61,null],[11,"from_str","","",61,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"clone","","",107,null],[11,"new","","Creates a new, empty headers map.",107,{"inputs":[],"output":{"name":"headers"}}],[11,"set","","Set a header field to the corresponding value.",107,null],[11,"get_raw","","Access the raw value of a header.",107,null],[11,"set_raw","","Set the raw value of a header, bypassing any typed headers.",107,null],[11,"remove_raw","","Remove a header set by set_raw",107,null],[11,"get","","Get a reference to the header field's value, if it exists.",107,null],[11,"get_mut","","Get a mutable reference to the header field's value, if it exists.",107,null],[11,"has","","Returns a boolean of whether a certain header is in the map.",107,null],[11,"remove","","Removes a header from the map, if one existed.\nReturns true if a header has been removed.",107,null],[11,"iter","","Returns an iterator over the header fields.",107,null],[11,"len","","Returns the number of headers in the map.",107,null],[11,"clear","","Remove all headers from the map.",107,null],[11,"eq","","",107,null],[11,"fmt","","",107,null],[11,"fmt","","",107,null],[11,"next","","",108,null],[11,"is","","Check if a HeaderView is a certain Header.",109,null],[11,"name","","Get the Header name as a slice.",109,null],[11,"value","","Cast the value to a certain Header type.",109,null],[11,"value_string","","Get just the header value as a String.",109,null],[11,"fmt","","",109,null],[11,"fmt","","",109,null],[11,"extend","","",107,null],[11,"from_iter","","",107,{"inputs":[{"name":"i"}],"output":{"name":"headers"}}],[11,"fmt","","",9,null],[11,"fmt","","",9,null],[11,"fmt","rustful::server","",74,null],[11,"drop","","",74,null],[11,"close","","Stop the server from listening to its socket address.",74,null],[11,"hash","rustful","",6,null],[11,"fmt","","",6,null],[11,"canonical_reason","","Get the standardised `reason-phrase` for this status code.",6,null],[11,"class","","Determine the class of a status code, based on its first digit.",6,null],[11,"is_informational","","Check if class is Informational.",6,null],[11,"is_success","","Check if class is Success.",6,null],[11,"is_redirection","","Check if class is Redirection.",6,null],[11,"is_client_error","","Check if class is ClientError.",6,null],[11,"is_server_error","","Check if class is ServerError.",6,null],[11,"is_strange_status","","Check if class is NoClass",6,null],[11,"fmt","","",6,null],[11,"eq","","",6,null],[11,"clone","","",6,null],[11,"partial_cmp","","",6,null],[11,"cmp","","",6,null],[11,"fmt","","",72,null],[11,"hash","","",72,null],[11,"cmp","","",72,null],[11,"clone","","",72,null],[11,"partial_cmp","","",72,null],[11,"eq","","",72,null],[11,"fmt","","",72,null]],"paths":[[4,"Attr"],[4,"Value"],[4,"SubLevel"],[4,"TopLevel"],[3,"Mime"],[4,"Method"],[4,"StatusCode"],[8,"Header"],[8,"HeaderFormat"],[3,"HeaderFormatter"],[3,"ContentType"],[3,"From"],[3,"AccessControlRequestHeaders"],[3,"Cookie"],[3,"Expires"],[3,"IfModifiedSince"],[4,"ConnectionOption"],[4,"ContentRangeSpec"],[3,"Server"],[3,"CacheControl"],[3,"AccessControlMaxAge"],[3,"Upgrade"],[3,"AccessControlExposeHeaders"],[3,"Accept"],[3,"Authorization"],[3,"Host"],[4,"IfRange"],[3,"AcceptLanguage"],[3,"Basic"],[3,"AcceptCharset"],[3,"AccessControlRequestMethod"],[3,"ETag"],[3,"StrictTransportSecurity"],[3,"AcceptRanges"],[3,"AccessControlAllowHeaders"],[4,"IfNoneMatch"],[4,"Encoding"],[3,"ContentLength"],[3,"Referer"],[4,"AccessControlAllowOrigin"],[3,"AcceptEncoding"],[3,"Protocol"],[3,"LastModified"],[3,"Connection"],[4,"Charset"],[3,"ContentLanguage"],[4,"ProtocolName"],[3,"Date"],[4,"CacheDirective"],[3,"ContentRange"],[3,"Bearer"],[3,"ContentEncoding"],[3,"Quality"],[3,"Location"],[4,"Expect"],[3,"IfUnmodifiedSince"],[3,"UserAgent"],[3,"AccessControlAllowMethods"],[3,"Allow"],[3,"SetCookie"],[4,"RangeUnit"],[3,"QualityItem"],[3,"TransferEncoding"],[4,"ByteRangeSpec"],[8,"Scheme"],[4,"Vary"],[3,"HttpDate"],[4,"Range"],[3,"EntityTag"],[4,"IfMatch"],[4,"Pragma"],[4,"HttpError"],[4,"HttpVersion"],[3,"TreeRouter"],[3,"Listening"],[3,"KeepAlive"],[3,"Server"],[4,"Scheme"],[3,"ServerInstance"],[3,"Host"],[3,"Global"],[3,"Endpoint"],[4,"RouteIter"],[8,"Router"],[8,"Route"],[8,"Handler"],[3,"Context"],[4,"MaybeUtf8"],[4,"Uri"],[3,"BodyReader"],[3,"MultipartRequest"],[3,"Link"],[3,"LinkSegment"],[4,"SegmentType"],[3,"Buffer"],[3,"Parameters"],[4,"Error"],[4,"FileError"],[4,"Data"],[3,"Response"],[3,"Chunked"],[3,"Raw"],[3,"FilterContext"],[4,"ContextAction"],[4,"ResponseAction"],[8,"ContextFilter"],[8,"ResponseFilter"],[3,"Headers"],[3,"HeadersItems"],[3,"HeaderView"]]}; initSearch(searchIndex);