1w͸      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Infered@Simplified Query type without support for parameter-less items. ESimplified Query item type without support for parameter-less items. Like Query, but with  instead of  (UTF8-encoded). Query. General form: a=b&-c=d, but if the value is Nothing, it becomes  a&c=d.  Query item Convert  to . Convert  to a . Convert  to ! (leniently decoding the UTF-8). Parse  from a . See   for details. Convert  to . Convert  to a Builder. Convert  to  ByteString. Convert  to  ByteString. ASplit out the query string into a list of keys and values. A few  importants points: I The result returned is still bytestrings, since we perform no character N decoding here. Most likely, you will want to use UTF-8 decoding, but this is " left to the user of the library. 5 Percent decoding errors are ignored. In particular, %Q will be output as  %Q. Parse  from a  ByteString. !Percent-encoding for URLs (using ). Percent-encoding for URLs. Percent-decoding. ;Encodes a list of path segments into a valid URL fragment. /This function takes the following three steps:  UTF-8 encodes the characters. D Performs percent encoding on all unreserved characters, as well as :@=+$, % Prepends each segment with a slash.  For example:  0 encodePathSegments [\"foo\", \"bar\", \"baz\"] "/foo/bar/baz"  0 encodePathSegments [\"foo bar\", \"baz\/bin\"] "/foo%20bar/baz%2Fbin"   encodePathSegments [\"\"] "/%D7%A9%D7%9C%D7%95%D7%9D" KHuge thanks to Jeremy Shaw who created the original implementation of this H function in web-routes and did such thorough research to determine all  correct escaping procedures. 8Like encodePathSegments, but without the initial slash. 9Parse a list of path segments from a valid URL fragment. -Encode a whole path (path segments + query). -Decode a whole path (path segments + query). prepend a question mark?  prepend a question mark? prepend question mark? prepend question mark? JWhether input is in query string. True: Query string, False: Path element Whether to decode  to ' '     Safe-InferedMTypes which, in a Query-like key-value list, are used in the Value position. KTypes which, in a Query-like key-value list, are used in the Key position. 0Types which can, and commonly are, converted to  are in this class. 2You can use lists of simple key value pairs, with  (strict, or lazy:  ), , or  as the key/)value types. You can also have the value \ type lifted into a Maybe to support keys without values; and finally it is possible to put 5 each pair into a Maybe for key-value pairs that aren't always present.  Convert to .  Safe-Infered!RFC 2616 Byte ranges (set). #RFC 2616 Byte range (individual). "Negative indices are not allowed! "Response Headers #Request Headers $ Header name %Header &HTTP Header names 'HTTP Header names (HTTP Header names )HTTP Header names *HTTP Header names +HTTP Header names ,HTTP Header names -HTTP Header names .HTTP Header names /HTTP Header names 0HTTP Header names 1HTTP Header names 2HTTP Header names 3HTTP Header names 4HTTP Header names 5HTTP Header names 6HTTP Header names 7HTTP Header names 8HTTP Header names 9 HTTP Headers : HTTP Headers ; HTTP Headers < HTTP Headers = HTTP Headers > HTTP Headers ? HTTP Headers @ HTTP Headers ( !"#$%&'()*+,-./0123456789:;<=>?@ABCD( !"#$%&'()*+,-./0123456789:;<=>?@ABCD(%$#"&876543210/.-,+*)('! ABCD9@>?=<;:%! "#$%&'()*+,-./0123456789:;<=>?@ABCD Safe-InferedSE HTTP Status.  Only the G is used for comparisons. 3Note that the Show instance is only for debugging. I Continue 100 J Continue 100 KSwitching Protocols 101 LSwitching Protocols 101 MOK 200 NOK 200 O Created 201 P Created 201 Q Accepted 202 R Accepted 202 S"Non-Authoritative Information 203 T"Non-Authoritative Information 203 UNo Content 204 VNo Content 204 WReset Content 205 XReset Content 205 YPartial Content 206 ZPartial Content 206 [Multiple Choices 300 \Multiple Choices 300 ]Moved Permanently 301 ^Moved Permanently 301 _ Found 302 ` Found 302 aSee Other 303 bSee Other 303 cNot Modified 304 dNot Modified 304 eUse Proxy 305 fUse Proxy 305 gTemporary Redirect 307 hTemporary Redirect 307 iBad Request 400 jBad Request 400 kUnauthorized 401 lUnauthorized 401 mPayment Required 402 nPayment Required 402 oForbidden 403 pForbidden 403 qNot Found 404 rNot Found 404 sMethod Not Allowed 405 tMethod Not Allowed 405 uNot Acceptable 406 vNot Acceptable 406 w"Proxy Authentication Required 407 x"Proxy Authentication Required 407 yRequest Timeout 408 zRequest Timeout 408 { Conflict 409 | Conflict 409 } Gone 410 ~ Gone 410 Length Required 411 Length Required 411 Precondition Failed 412 Precondition Failed 412 Request Entity Too Large 413 Request Entity Too Large 413 Request-URI Too Long 414 Request-URI Too Long 414 Unsupported Media Type 415 Unsupported Media Type 415 $Requested Range Not Satisfiable 416 $Requested Range Not Satisfiable 416 Expectation Failed 417 Expectation Failed 417 I'm a teapot 418 I'm a teapot 418 Internal Server Error 500 Internal Server Error 500 Not Implemented 501 Not Implemented 501 Bad Gateway 502 Bad Gateway 502 Service Unavailable 503 Service Unavailable 503 Gateway Timeout 504 Gateway Timeout 504 HTTP Version Not Supported 505 HTTP Version Not Supported 505 XEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~VEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~VEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~UEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-InferedHTTP Version. >Note that the Show instance is intended merely for debugging.  HTTP 0.9  HTTP 1.0  HTTP 1.1  Safe-Infered /HTTP standard method (as defined by RFC 2616).  HTTP method (flat string type). HTTP Method constants. HTTP Method constants. HTTP Method constants. HTTP Method constants. HTTP Method constants. HTTP Method constants. HTTP Method constants. HTTP Method constants. Convert a method  ByteString to a  if possible. !Convert an algebraic method to a  ByteString.  Convert a  to a  ByteString.   Safe-Infered1Type synonym for ASCII ByteStrings (deprecated).   !"#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%#"&876543210/.-,+*)('! ABCD 9@>?=<;:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~http-types-0.7.1Network.HTTP.Types.URINetwork.HTTP.Types.QueryLikeNetwork.HTTP.Types.HeaderNetwork.HTTP.Types.StatusNetwork.HTTP.Types.VersionNetwork.HTTP.Types.MethodNetwork.HTTP.Types SimpleQuerySimpleQueryItem QueryTextQuery QueryItemqueryTextToQueryrenderQueryTextqueryToQueryTextparseQueryTextsimpleQueryToQueryrenderQueryBuilder renderQueryrenderSimpleQuery parseQueryparseSimpleQueryurlEncodeBuilder urlEncode urlDecodeencodePathSegmentsencodePathSegmentsRelativedecodePathSegments encodePath decodePathQueryValueLike toQueryValue QueryKeyLike toQueryKey QueryLiketoQuery ByteRanges ByteRangeByteRangeSuffixByteRangeFromTo ByteRangeFromResponseHeadersRequestHeaders HeaderNameHeaderhAccepthAcceptLanguagehAuthorization hCacheControl hConnectionhContentEncodinghContentLength hContentMD5 hContentTypehCookiehDatehIfModifiedSincehIfRange hLastModified hLocationhRangehRefererhServer hUserAgent headerAcceptheaderAuthorizationheaderCacheControlheaderConnectionheaderContentLengthheaderContentMD5headerContentType headerDaterenderByteRangeBuilderrenderByteRangerenderByteRangesBuilderrenderByteRangesStatus statusCode statusMessage status100 continue100 status101switchingProtocols101 status200ok200 status201 created201 status202 accepted202 status203nonAuthoritative203 status204 noContent204 status205resetContent205 status206partialContent206 status300multipleChoices300 status301movedPermanently301 status302found302 status303 seeOther303 status304notModified304 status305 useProxy305 status307temporaryRedirect307 status400 badRequest400 status401unauthorized401 status402paymentRequired402 status403 forbidden403 status404 notFound404 status405methodNotAllowed405 status406notAcceptable406 status407proxyAuthenticationRequired407 status408requestTimeout408 status409 conflict409 status410gone410 status411lengthRequired411 status412preconditionFailed412 status413requestEntityTooLarge413 status414requestURITooLong414 status415unsupportedMediaType415 status416requestedRangeNotSatisfiable416 status417expectationFailed417 status418 imATeaPot418 status500internalServerError500 status501notImplemented501 status502 badGateway502 status503serviceUnavailable503 status504gatewayTimeout504 status505httpVersionNotSupported505 HttpVersion httpMajor httpMinorhttp09http10http11 StdMethodOPTIONSCONNECTTRACEDELETEPUTHEADPOSTGETMethod methodGet methodPost methodHead methodPut methodDelete methodTrace methodConnect methodOptions parseMethod renderMethodrenderStdMethodAscii text-0.11.2.2Data.Text.InternalTextbytestring-0.9.2.1Data.ByteString.Internal ByteStringblaze-builder-0.3.1.0'Blaze.ByteString.Builder.Internal.TypesBuilderbaseGHC.Num+Data.ByteString.Lazy.InternalGHC.BaseString$fQueryValueLikeMaybe$fQueryValueLike[]$fQueryValueLikeText$fQueryValueLikeByteString$fQueryValueLikeByteString0$fQueryKeyLike[]$fQueryKeyLikeText$fQueryKeyLikeByteString$fQueryKeyLikeByteString0 $fQueryLike[]$fQueryLike[]0 $fOrdStatus $fEqStatus$fShowHttpVersion