f9      !"#$%&'()*+,-./01234 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None,D       NoneLErrors which arise during the "handling" portion of dealing with a response.]An ignorable error is one which backtracks the routing search instead of forcing a response.Safe !" !" !" !"NoneI#[RawText extracts as, like the name suggests, raw text from URI segments and header values.aIt exists as a default value for extensibility of typeclasses like HeaderDecode and HeaderEncode#$%#$%#$%#$%None,-./01,-./0./,-10,-./01None,-././,-Safe+,DQR2PEquivalent to a tuple at both the type and kind levels, but has a nicer syntax!2323232336 Safe%&+,9;<=DQRT;IAn HList collecting heterogenous types matched up to labeling information>(Append a new header value on to a record456789:;<=>?@ABC 456789:;<=>;<=>89:CB67A@45? 456789:;<=>?@ABC None%&+,9;<=DQRTDCGiven a record of headers, encode them into a list of header pairs. DEFGHIJKLMDEFGHI HIFGMLDEKJDEFGHIJKLM Safe%&+,9;<=DQRTY Similar to X but will always attempt to provide the first content type the server offers if nothing is acceptable. Still fails when no content types are offered (what's going on?)NOPQRSTUVWXYZ[\]^ NOPQRSTUVWXYZVWTURSXYPQ^]ZNO\[ NOPQRSTUVWXYZ[\]^ None+,DTE_Implements reflection of Name types into  values for runtime use.a0The variant (name and meaning) of a HTTP header.An incomplete listing of most permanant headers, a selection of provisional ones, and one or two non-standard headers. Generally, any header desired can be specified using the Name constructor.Used only as their  DataKinds types system.b#Inject an arbitatry symbol in as a a:. This can be used to implement any sort of custom headercUsed to specify directives that must be obeyed by all caching mechanisms along the request-response chain. Tells all caching mechanisms from server to client whether they may cache this object. It is measured in secondsCache-Control: no-cachedQControl options for the current connection and list of hop-by-hop request fields/Connection: keep-alive Connection: Upgradee6The length of the request body in octets (8-bit bytes)Content-Length: 348fJThe MIME type of the body of the request (used with POST and PUT requests)/Content-Type: application/x-www-form-urlencodedg0The date and time that the message was sent (in  HTTP-date2 format as defined by RFC 7231 Date/Time Formats)#Date: Tue, 15 Nov 1994 08:12:31 GMThhImplementation-specific fields that may have various effects anywhere along the request-response chain.Pragma: no-cachei.Ask the server to upgrade to another protocol. Upgrade: HTTP 2.0, SHTTP1.3, IRC6.9, RTAx11jAInforms the server of proxies through which the request was sent.+Via: 1.0 fred, 1.1 example.com (Apache/1.1)k?A general warning about possible problems with the entity body."Warning: 199 Miscellaneous warningl3Content-Types that are acceptable for the response.Accept: text/plainm"Character sets that are acceptableAccept-Charset: utf-8nList of acceptable encodings.Accept-Encoding: gzip, deflateo0List of acceptable human languages for response.Accept-Language: en-USp|Used when issuing a preflight request to let the server know what HTTP method will be used when the actual request is made.#Access-Control-Request-Method: POSTq}Used when issuing a preflight request to let the server know what HTTP headers will be used when the actual request is made.+Access-Control-Request-Headers: X-PINGOTHERr2Authentication credentials for HTTP authentication1Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==sDAn HTTP cookie previously sent by the server with Set-Cookie (below)Cookie: $Version=1; Skin=new;tEIndicates that particular server behaviors are required by the clientExpect: 100-continueu0The email address of the user making the requestFrom: user@example.comvThe domain name of the server (for virtual hosting), and the TCP port number on which the server is listening. The port number may be omitted if the port is the standard port for the service requested.5Host: en.wikipedia.org:80 Host: en.wikipedia.orgwOnly perform the action if the client supplied entity matches the same entity on the server. This is mainly for methods like PUT to only update a resource if it has not been modified since the user last updated it.,If-Match: "737060cd8c284d8af7ad3082f209582d"x@Allows a 304 Not Modified to be returned if content is unchanged0If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMTyPAllows a 304 Not Modified to be returned if content is unchanged, see HTTP ETag1If-None-Match: "737060cd8c284d8af7ad3082f209582d"zlIf the entity is unchanged, send me the part(s) that I am missing; otherwise, send me the entire new entity,If-Range: "737060cd8c284d8af7ad3082f209582d"{ROnly send the response if the entity has not been modified since a specific time.2If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT|TLimit the number of times the message can be forwarded through proxies or gateways.Max-Forwards: 10}KInitiates a request for cross-origin resource sharing (asks server for an 'Access-Control-Allow-Origin' response field).Origin: %http://www.example-social-network.com~4Authorization credentials for connecting to a proxy.7Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==:Request only part of an entity. Bytes are numbered from 0.Range: bytes=500-999This is the address of the previous web page from which a link to the currently requested page was followed. (The word referrer  has been misspelled in the RFC as well as in most implementations to the point that it has become standard usage and is considered correct terminology) Referer: &http://en.wikipedia.org/wiki/Main_PageCThe transfer encodings the user agent is willing to accept: the same values as for the response header field Transfer-Encoding can be used, plus the "trailers" value (related to the "chunked" transfer method) to notify the server it expects to receive additional fields in the trailer after the last, zero-sized, chunk.TE: trailers, deflate'The user agent string of the user agentUser-Agent: Mozilla&5.0 (X11; Linux x86_64; rv:12.0) Gecko20100101 Firefox/21.0A de facto standard for identifying the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer[X-Forwarded-For: client1, proxy1, proxy2 X-Forwarded-For: 129.78.138.66, 129.78.64.103A de facto standard for identifying the original host requested by the client in the Host HTTP request header, since the host name and/or port of the reverse proxy (load balancer) may differ from the origin server handling the request.MX-Forwarded-Host: en.wikipedia.org:80 X-Forwarded-Host: en.wikipedia.orgA de facto standard for identifying the originating protocol of an HTTP request, since a reverse proxy (or a load balancer) may communicate with a web server using HTTP even if the request to the reverse proxy is HTTPS.+Used to prevent cross-site request forgery..X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwqlBWhen responding to a CORS request this lists either an origin or *@ describing the server's CORS policy for the requested resourceAAccess-Control-Allow-Origin: * Access-Control-Allow-Origin:  http://foo.example# Access-Control-Allow-Origin: https://foo.examplePThis header lets a server whitelist headers that browsers are allowed to access.JAccess-Control-Expose-Headers: X-My-Custom-Header, X-Another-Custom-HeaderPThis header indicates how long the results of a preflight request can be cached.Access-Control-Max-Age: delta-secondsIndicates whether or not the response to the request can be exposed when the credentials flag is true. When used as part of a response to a preflight request, this indicates whether or not the actual request can be made using credentials. Note that simple GET requests are not preflighted, and so if a request is made for a resource with credentials, if this header is not returned with the resource, the response is ignored by the browser and not returned to web content..Access-Control-Allow-Credentials: true | falsevSpecifies the method or methods allowed when accessing the resource. This is used in response to a preflight request.Access-Control-Allow-Methods:  method[,  method]*sUsed in response to a preflight request to indicate which HTTP headers can be used when making the actual request.;Specifies which patch document formats this server supports(Accept-Patch: text/example;charset=utf-8FWhat partial content range types this server supports via byte servingAccept-Ranges: bytes7The age the object has been in a proxy cache in secondsAge: 12OValid actions for a specified resource. To be used for a 405 Method not allowedAllow: GET, HEADAn opportunity to raise a "File Download" dialogue box for a known MIME type with binary format or suggest a filename for dynamic content. Quotes are necessary with special characters.5Content-Disposition: attachment; filename="fname.ext"&The type of encoding used on the data.Content-Encoding: gzipSThe natural language or languages of the intended audience for the enclosed contentContent-Language: da+An alternate location for the returned dataContent-Location: /index.htm9Where in a full body message this partial message belongs&Content-Range: bytes 21010-47021/47022#Content Security Policy definition.%Content-Security-Policy: default-src selfJAn identifier for a specific version of a resource, often a message digest(ETag: "737060cd8c284d8af7ad3082f209582d"FGives the date/time after which the response is considered stale (in  HTTP-date format as defined by RFC 7231)&Expires: Thu, 01 Dec 1994 16:00:00 GMT4The last modified date for the requested object (in  HTTP-date format as defined by RFC 7231),Last-Modified: Tue, 15 Nov 1994 12:45:26 GMTkUsed to express a typed relationship with another resource, where the relation type is defined by RFC 5988Link:  /feed; rel="alternate"=Used in redirection, or when a new resource has been created. Location: %http://www.w3.org/pub/WWW/People.html+Request authentication to access the proxy.Proxy-Authenticate: BasicNHTTP Public Key Pinning, announces hash of website's authentic TLS certificate\Public-Key-Pins: max-age=2592000; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g=";If an entity is temporarily unavailable, this instructs the client to try again later. Value could be a specified period of time (in seconds) or a HTTP-date.@Retry-After: 120 Retry-After: Fri, 07 Nov 2014 23:59:59 GMTAn HTTP cookie3Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1xA HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains.>Strict-Transport-Security: max-age=16070400; includeSubDomainsThe Trailer general field value indicates that the given set of header fields is present in the trailer of a message encoded with chunked transfer coding.Trailer: Max-ForwardsThe form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity.Transfer-Encoding: chunkedTells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."Vary: * Vary: Accept-LanguageWIndicates the authentication scheme that should be used to access the requested entity.WWW-Authenticate: Basic_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()_`aulbhfcdegijkmnopqrstvwxyz{|}~abcdefghijklmnopqrstuvwxyz{|}~_`)('&%$#"!      _`aCbcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'() None,9;<=DL*JRepresents mechanisms to interpret data types as header-compatible values.An instance of  Decode n t2 captures a mechanism for reading values of type t# from header data stored at header n.,JRepresents mechanisms to interpret data types as header-compatible values.An instance of  Encode n t3 captures a mechanism for treating values of type t* as valid data to substantiate the header n.Note: While this class allows the encoding of any value into a full Unicode Text value, Headers do not generally accept most Unicode code points. Be conservative in implementing this class..)Handles encoding a header all the way to raw bytes.1+Handles decoding a header all the way from raw bytes.5#5 enables capturing the data untouched from the header*+,-./0123456789:;<=>?@ABC *+,-./012,-.CBA@?>=<;:9876*+/015432*+,-./0123456789:;<=>?@ABCNone %&+,9;DQRTDCGiven a record of headers, encode them into a list of header pairs.F<Given a header set description, reflect out all of the namesDEFGHIJKQ_`aulbhfcdegijkmnopqrstvwxyz{|}~*+,-.12DEFGRabcdefghijklmnopqrstuvwxyz{|}~`_`DEFG,-.2*+1DEFGHIJKNone%&+,9:;<=DOQRTL Generalized1 path segments match against data in the request.[Matches if the request has a non-empty remaining path and the next segment matches exactlyLMatches if the request has a given header and its value matches exactly (!)~Matches if the request has a non-empty remaining path. The next segment is "captured", provided to the server implementation.6Always matches, "capturing" the value of a header, or  if the header fails to exist.rAlways matches, "captures" the remaining path segments as a list of text values. May just capture the empty list.GAlways matches, "captures" the existence of a query flag by returning  if the flag is provided and  otherwise.;Always matches, "capturing" the value of a query parameter.UX5 responses may opt to include a response body or not.aReturn a response body by specifying a set of content-types and a value to derive the body from.A response with an empty bodyXA X3 is a single HTTP verb response handled at a given ^. In order to complete a Method'Us operation it may demand data from the request such as headers or the request body. A "core" X definition which describes the Y it responds to along with a set of response headers and a chance to attach a response U. Augment a X+ to include requirements of a request body. Augment a X2 to include requirements of request header values.]]Js describe collections of HTTP endpoints accessible at various segmented Ls.An ^\ describes a root API which responds only to requests with empty paths. It matches on HTTP Xs which demand s, as, and Us.^ differs from _T in that it can only choose between possible methods and automatically provides an   response.]s consist of many sub-]%s which are attempted sequentially. _ choices5 expresses this sequential search along a set of sub-] choices.` enables the use of standard  s within an ][. These cannot be examined further through type analysis, but they are a common use case.!Qualify an API using a series of L qualifiers.LMNOPQRSTUVWXYZ[\]^_`aLMPTNOQRSUWVXYZ[\]a`^_]^_`aXYZ[\UVWLMNOPQRSTLMNOPQRSTUVWXYZ[\]^_`aa5None +,9:;DQRTbcdefghijklmnopqrsbcdefgfgsrdeqponmbclkjihbcdefghijklmnopqrsNoneDDNone tbDescrbes what parts of the response should be made available cross-origin. The Monoid product on t6s permits all accesses of either of the constituents.|The  CorsContextU provides data from which we can make choices about how to respond to CORS requests.The  policy produces the  .+Class describing types which describe CORS s.A  interprets the request's provided Origin and the current routing context to determine how to expose resources to the requestor.The most permissive CORS h possible. Differs from Wildcard in that it allows credentials. Max age is not provided (so no caching)Effects a wildcard policy which provides maximal cross-origin access to all request origins. This disallows credentials use, however.5Provides access to all origins which pass a predicateAThe empty access set disallows all CORS access while the product l <> r@ provides access to a particular part of the response if either l or r does.tuvwxyz{|}~tuv{ywzx|}~|}~tuvwxyz{ tuvwxyz{|}~None%&+,9:;<=DOQRT*Pop all remaining segments off the contextMPop a segment off the URI and produce a new context for "beyond" that segmentCMove the context down the URI segment listing one step if possible.FPull a Header raw from the context, updating it to note that we lookedHPull a header value from the context, updating it to note that we looked Sort of like  but used for when we just want the value and don't care about updating the context or worrying about distinguishing between decoding failure and outright not being there at all!GMatch a header value in the context, updating it to show that we lookedNone%&,9;<=DOQRTResponses generated in  implementations.A return value from a  computation.Routing errors arise when a routing attempt fails and, depending on the error, either we should recover and backtrack or resolve the entire response with that error.$If the response is arising from the A computation itself it will be transformed automatically into a O value we can handle directly. These are opaque to routing, assumed successes.If the application demands an "upgrade" or ties into another server mechanism then routing at that location will return the (opaque)  to continue handling.Either one thing or the other. In particular, often this is used when we are describing either one server implementation or the other. Used to give semantics to 'OneOf and  'Endpoint.|A server implementation which always results in a "Not Found" error. Used to give semantics to "pathological" servers like  'OneOf '[] and  Endpoint '[].These servers could be statically disallowed but (1) they have a semantic sense as described by this type exactly and (2) to do so would require the creation and management of either larger types or non-empty proofs which would be burdensome to carry about.Actual servers are implemented effectfully; this is a no-op server which immediately returns Not Found and applies no effects.s form a semigroup trying each S in order and receiving the leftmost one which does not end in an ignorable error. Or, with less technical jargon, m  n acts like m except in the case where m returns an  $ in which case control flows on to n.Adds a body to a responseAdds a header to a responseUnlike , N allows you to add headers not explicitly specified in the api specification.LIf a response type is complete defined by its implementation then applying resorted to it will future proof it against reorderings of headers. If the response type is not completely inferrable, however, then this will require manual annotations of the "pre-sorted" response. Used primarily for implementing HEAD request automatically.55None%&+,9:;<=DOQRT\;The the core type function responsible for interpreting an ] into a functioning . It defines a function  defined over all forms of ]M types which consumes a parallel type defined by the associated type family . If  api :: Api then  Impl api m is an "implementation" of the Api' s server logic executing in the m monad. Then, applying  to a value of  api results in a  which can be executed as a .*Is the request method in the set of verbs?GET is special-cased to handle HEAD0 semantics which cannot be specified otherwise.NoneBuild a  from an implemented  .      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX " "NoneI_aulbhfcdegijkmnopqrstvwxyz{|}~*+,-Iabcdefghijklmnopqrstuvwxyz{|}~,-*+_Nonetuv{ywzx|}~|}~tuvwxyz{None9;<= RSTUVW VWTURSNone#$%#$%None   23LMPTNOQRSUWVXYZ[\]a`^_ ]^_`aXYZ[\UVWLMNOPQRST 23Y  !"#!"$%&'()*+,-./0123456789:;<=>?@AABCCDEFGHIJKLMNOPQR S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                       ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` abcdefghijklmnopqrsstuuvwxyz{|}~;      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]]^_`ab`ac`ad`ae`af`ag`ah`ai`aj`ak`al`al`amn"serv-0.1.0.0-Mf3DXNZtH0Iae9xnJRsnnServ.Header.ProxiesServ.ContentTypeServ.Internal.VerbServ.Internal.Server.ErrorServ.Internal.Server.ConfigServ.Internal.RawTextServ.Internal.URIServ.Internal.PairServ.Internal.RecServ.Internal.QueryServ.Internal.MediaTypeServ.Internal.Header.Name"Serv.Internal.Header.SerializationServ.Internal.HeaderServ.Internal.ApiServ.Internal.Api.AnalysisServ.Internal.CorsServ.Internal.Server.ContextServ.Internal.Server.TypeServ.Internal.Server Serv.ServerServ.URIWai ApplicationError Serv.Header Serv.Cors Serv.CommonServ.Apibase Data.ProxyProxy'http-media-0.6.4-Eg9CE4iTY9M8ET9NaQFStHNetwork.HTTP.Media.MediaType/:// ReflectVerb reflectVerbVerbDELETEGETHEADOPTIONSPATCHPOSTPUT standardName$fReflectVerbOPTIONS$fReflectVerbDELETE$fReflectVerbPATCH$fReflectVerbPUT$fReflectVerbPOST$fReflectVerbHEAD$fReflectVerbGET$fEqVerb $fOrdVerb $fShowVerb $fReadVerb RoutingErrorNotFound BadRequestUnsupportedMediaTypeMethodNotAllowed ignorableConfig defaultConfigRawText getRawText $fEqRawText $fOrdRawText $fReadRawText $fShowRawText$fMonoidRawText$fIsStringRawText URIDecode uriDecode URIEncode uriEncodefromByteString$fURIDecodeRawTextPair::: RecordIsoreorderSubsetprojectElemeGeteMapRecNilCons-:$fRecordIsoaarsqs $fSubsetaa:qs$fSubsetaa[]qs$fElemaknamee:$fElemaanamee: ReflectQuery reflectQuery QueryDecode queryDecode QueryEncode queryEncode$fReflectQuerySymbol:$fReflectQuerya[]$fQueryDecodesRawText$fQueryEncodesRawTextReflectDecodersreflectDecodersReflectEncodersreflectEncoders MimeDecode mimeDecode MimeEncode mimeEncode HasMediaType mediaTypenegotiateContentnegotiateContentAlways tryDecode$fReflectDecoders[]:ty$fReflectDecoders[][]ty$fReflectEncoders[]:ty$fReflectEncoders[][]ty ReflectName reflectName HeaderName CacheControl Connection ContentLength ContentTypeDatePragmaUpgradeViaWarningAccept AcceptCharsetAcceptEncodingAcceptLanguageAccessControlRequestMethodAccessControlRequestHeaders AuthorizationCookieExpectFromHostIfMatchIfModifiedSince IfNoneMatchIfRangeIfUnmodifiedSince MaxForwardsOriginProxyAuthorizationRangeRefererTE UserAgent XForwardedForXForwardedHostXForwardedProto XCsrfTokenAccessControlAllowOriginAccessControlExposeHeadersAccessControlMaxAgeAccessControlAllowCredentialsAccessControlAllowMethodsAccessControlAllowHeaders AcceptPatch AcceptRangesAgeAllowContentDispositionContentEncodingContentLanguageContentLocation ContentRangeContentSecurityPolicyETagExpires LastModifiedLinkLocationProxyAuthenticate PublicKeyPins RetryAfter SetCookieStrictTransportSecurityTrailerTransferEncodingVaryWWWAuthenticate cacheControl connection contentLength contentTypedatepragmaupgradeviawarningaccept acceptCharsetacceptEncodingacceptLanguageaccessControlRequestMethodaccessControlRequestHeaders authorizationcookieexpectfromhostifMatchifModifiedSince ifNoneMatchifRangeifUnmodifiedSince maxForwardsoriginproxyAuthorizationrangereferertE userAgent xForwardedForxForwardedHostxForwardedProto xCsrfTokenaccessControlAllowOriginaccessControlExposeHeadersaccessControlMaxAgeaccessControlAllowCredentialsaccessControlAllowMethodsaccessControlAllowHeaders acceptPatch acceptRangesageallowcontentDispositioncontentEncodingcontentLanguagecontentLocation contentRangecontentSecurityPolicyeTagexpires lastModifiedlinklocationproxyAuthenticate publicKeyPins retryAfter setCookiestrictTransportSecuritytrailertransferEncodingvarywWWAuthenticate$fReflectNameWWWAuthenticate$fReflectNameVary$fReflectNameTransferEncoding$fReflectNameTrailer$$fReflectNameStrictTransportSecurity$fReflectNameSetCookie$fReflectNameRetryAfter$fReflectNamePublicKeyPins$fReflectNameProxyAuthenticate$fReflectNameLocation$fReflectNameLink$fReflectNameLastModified$fReflectNameExpires$fReflectNameETag"$fReflectNameContentSecurityPolicy$fReflectNameContentRange$fReflectNameContentLocation$fReflectNameContentLanguage$fReflectNameContentEncoding$fReflectNameContentDisposition$fReflectNameAllow$fReflectNameAge$fReflectNameAcceptRanges$fReflectNameAcceptPatch&$fReflectNameAccessControlAllowHeaders&$fReflectNameAccessControlAllowMethods*$fReflectNameAccessControlAllowCredentials $fReflectNameAccessControlMaxAge'$fReflectNameAccessControlExposeHeaders%$fReflectNameAccessControlAllowOrigin$fReflectNameXCsrfToken$fReflectNameXForwardedProto$fReflectNameXForwardedHost$fReflectNameXForwardedFor$fReflectNameUserAgent$fReflectNameTE$fReflectNameReferer$fReflectNameRange$fReflectNameProxyAuthorization$fReflectNameOrigin$fReflectNameMaxForwards$fReflectNameIfUnmodifiedSince$fReflectNameIfRange$fReflectNameIfNoneMatch$fReflectNameIfModifiedSince$fReflectNameIfMatch$fReflectNameHost$fReflectNameFrom$fReflectNameExpect$fReflectNameCookie$fReflectNameAuthorization($fReflectNameAccessControlRequestHeaders'$fReflectNameAccessControlRequestMethod$fReflectNameAcceptLanguage$fReflectNameAcceptEncoding$fReflectNameAcceptCharset$fReflectNameAccept$fReflectNameWarning$fReflectNameVia$fReflectNameUpgrade$fReflectNamePragma$fReflectNameDate$fReflectNameContentType$fReflectNameContentLength$fReflectNameConnection$fReflectNameCacheControl$fReflectNameHeaderName HeaderDecode headerDecode HeaderEncode headerEncodeheaderEncodeRaw headerDecode'requiredheaderDecodeRaw headerPair$fHeaderDecodehMaybe$fHeaderDecodeAccept[]$fHeaderDecodenRawText$fHeaderEncodehMaybe$fHeaderEncodenText$fHeaderEncodenInt$fHeaderEncodenBool/$fHeaderEncodeAccessControlAllowCredentialsBool)$fHeaderEncodeAccessControlAllowMethods[]*$fHeaderEncodeAccessControlAllowMethodsSet*$fHeaderEncodeAccessControlAllowOriginText0$fHeaderEncodeAccessControlMaxAgeNominalDiffTime*$fHeaderEncodeAccessControlAllowHeadersSet+$fHeaderEncodeAccessControlExposeHeadersSet$fHeaderEncodeAllow[]$fHeaderEncodeAllowSet$fHeaderEncodenRawTextReflectHeadersreflectHeadersReflectHeaderNamesreflectHeaderNames$fReflectHeadersHeaderName:$fReflectHeadersa[]$fReflectHeaderNames[]:$fReflectHeaderNames[][]PathConstHeaderAsSegHeaderWildcardFlag QueryParamCorsBodyEmptyMethod CaptureBodyCaptureHeaders CaptureQueryApiEndpointOneOfRaw:>HeadersReturnedByheadersReturnedByHeadersExpectedOfheadersExpectedOfVerbsOfverbsOf$fHeadersReturnedBy:$fHeadersReturnedBy:0$fHeadersReturnedBy:1$fHeadersReturnedBy:2$fHeadersReturnedBy[]$fHeadersExpectedOf:$fHeadersExpectedOf:0$fHeadersExpectedOf:1$fHeadersExpectedOf:2$fHeadersExpectedOf[] $fVerbsOf[]: $fVerbsOf[][] AccessSet originAllowedheadersExposedcredentialsAllowedmethodsAllowedheadersAllowedmaxAgeContextheadersExpectedheadersReturnedmethodsAvailable PermitAll CorsPolicy corsPolicyPolicy headerSet mergeContext permitAllwildcardpredicateWhitelist$fMonoidAccessSet$fCorsPolicyPermitAllrequest pathZipperconfigbody corsPolicies corsHeaders makeContext pathIsEmptymethodrequestHeadersSeentakeAllSegments takeSegment stepContext pullHeaderRaw examineHeaderexamineHeaderFast expectHeadersafeHead WaiResponse waiResponseResponse EmptyResponseServer runServer ServerValue:<|>NotHerenoOp runServerWaitransformServerorElse routingError emptyResponsewithBody withHeaderwithQuietHeader resortHeaders deleteBody$fWaiResponseheadersBody$fWaiResponseheadersEmptyHandlingImplhandle encodeBody verbMatchdefaultOptionsResponse$fHandlingApi:>$fHandlingApi:>0$fHandlingApi:>1$fHandlingApi:>2$fHandlingApi:>3$fHandlingApi:>4$fHandlingApiOneOf $fHandling[]:$fHandling[][]$fHandlingApiEndpoint$fHandlingApiRaw$fHandlingMethodCaptureBody$fHandlingMethodCaptureQuery$fHandlingMethodCaptureHeaders$fHandlingMethodMethod$fHandlingMethodMethod0makeApplicationJSON TextPlain$fMimeDecodeTYPEJSONa$fMimeEncodeTYPEJSONa$fHasMediaTypeTYPEJSON$fMimeEncodeTYPETextPlainText$fHasMediaTypeTYPETextPlain'http-types-0.9.1-BTSIP6lzG5DE6u136PaywsNetwork.HTTP.Types.HeaderGHC.BaseNothingghc-prim GHC.TypesTrueFalse"wai-3.2.1.1-5RZsFhRyJZcC8rXXkujlwNNetwork.Wai.Internal Network.WaiIONetwork.HTTP.Types.StatusstatusIsServerErrorstatusIsClientErrorstatusIsRedirectionstatusIsSuccessfulstatusIsInformational networkAuthenticationRequired511 status511httpVersionNotSupported505 status505gatewayTimeout504 status504serviceUnavailable503 status503 badGateway502 status502notImplemented501 status501internalServerError500 status500requestHeaderFieldsTooLarge431 status431tooManyRequests429 status429preconditionRequired428 status428unprocessableEntity422 status422 imATeaPot418 status418expectationFailed417 status417requestedRangeNotSatisfiable416 status416unsupportedMediaType415 status415requestURITooLong414 status414requestEntityTooLarge413 status413preconditionFailed412 status412lengthRequired411 status411gone410 status410 conflict409 status409requestTimeout408 status408proxyAuthenticationRequired407 status407notAcceptable406 status406methodNotAllowed405 status405 notFound404 status404 forbidden403 status403paymentRequired402 status402unauthorized401 status401 badRequest400 status400permanentRedirect308 status308temporaryRedirect307 status307 useProxy305 status305notModified304 status304 seeOther303 status303found302 status302movedPermanently301 status301multipleChoices300 status300partialContent206 status206resetContent205 status205 noContent204 status204nonAuthoritative203 status203 accepted202 status202 created201 status201ok200 status200switchingProtocols101 status101 continue100 status100mkStatusStatus statusCode statusMessage#tagged-0.8.5-HBjpONNM7bk4tkR2ik8YoD Data.TaggedreproxytagWithunproxyproxy untagSelfwitnessasTaggedTypeOftagSelfuntagretagTaggedunTagged