h$Y &      !"#$% None" !#$%-./0258<=>?&'()*+,-None! !#$%-./0258<=>?\webgear-server'An arrow implementing a WebGear server.6It can be thought of equivalent to the function arrow a -> m b where m is a monad. It also supports routing and possibly failing the computation when the route does not match.webgear-serverRun a ServerHandler to produce a result or a route mismatch error.webgear-server,Convert a ServerHandler to a WAI applicationwebgear-server Transform a ' running in one monad to another monad.This is useful in cases where the server is running in a custom monad but you would like to convert it to a WAI application using .)Example usage with a ReaderT monad stack:  . (transform f server) where server ::  (ReaderT r IO) (. '[] /) 0 server = .... f :: ReaderT r IO a -> IO a f action = runReaderT action r webgear-serverThe handler to runwebgear-serverPath used for routingwebgear-serverInput value to the arrowwebgear-serverThe result of the arrowNone" !#$%-./0258<=>?None" !#$%-./0258<=>?None! !#$%-./0258<=>?LNone! !#$%-./0258<=>?None! !#$%-./0258<=>?None! !#$%-./0258<=>?*None! !#$%-./0258<=>?t None! !#$%-./0258<=>? None! !#$%-./0258<=>? None! !#$%-./0258<=>?R123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.0/   !"#$%&'()*+,-./01 2 3 4 5 6 7 8 9 : ;< => ?@ABCDEFDGHDGHDGIDGJDGKDGLDGMDGNABODGPDGQDGRDGSDGTDGUDGVDGWDGXDGYDGZDG[DG\DG]DG^DG_DG`DGaDGbDGbDGcDGdDEeAfgAfhAfiAfjAfkAflAfmAfnAfoAfpAfqAfrAfsAftAfuAfvAfwAfxAfyAfzAf{Af|Af}Af~AfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAAA                                                                                                                                                                                 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ? ?@ ? ? ? = = = = = = = = = = => =      +webgear-server-1.0.3-8ycrJ7I4jMfJMhxqLC5vZSWebGear.Server.HandlerWebGear.Server.Trait.Auth.BasicWebGear.Server.Trait.Auth.JWTWebGear.Server.Trait.BodyWebGear.Server.Trait.HeaderWebGear.Server.Trait.MethodWebGear.Server.Trait.PathWebGear.Server.Trait.QueryParamWebGear.Server.Trait.StatusPaths_webgear_serverWebGear.Server.TraitsWebGear.Server(webgear-core-1.0.3-YPQTGAQpEs4QtHQd7iU15WebGear.Core.Handler RoutePath ServerHandlerunServerHandlerrunServerHandler toApplication transform$fHandlerServerHandlerm&$fArrowErrorRouteMismatchServerHandler$fArrowChoiceServerHandler$fArrowPlusServerHandler$fArrowZeroServerHandler$fArrowServerHandler$fCategoryTYPEServerHandler#$fGetServerHandlerBasicAuth'Request$$fGetServerHandlerBasicAuth'Request0!$fGetServerHandlerJWTAuth'Request"$fGetServerHandlerJWTAuth'Request0"$fSetServerHandlerJSONBodyResponse!$fGetServerHandlerJSONBodyRequest$fSetServerHandlerBodyResponse$fGetServerHandlerBodyRequest $fSetServerHandlerHeaderResponse!$fSetServerHandlerHeaderResponse0$fGetServerHandlerHeaderRequest $fGetServerHandlerHeaderRequest0 $fGetServerHandlerHeaderRequest1 $fGetServerHandlerHeaderRequest2$fGetServerHandlerMethodRequest $fGetServerHandlerPathEndRequest $fGetServerHandlerPathVarRequest$fGetServerHandlerPathRequest#$fGetServerHandlerQueryParamRequest$$fGetServerHandlerQueryParamRequest0$$fGetServerHandlerQueryParamRequest1$$fGetServerHandlerQueryParamRequest2 $fSetServerHandlerStatusResponseversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameWebGear.Core.TraitLinkedWebGear.Core.RequestRequestWebGear.Core.ResponseResponse#text-1.2.5.0-KnVd9JEvLeLBpYY0G6pGCuData.Text.InternalTextbaseControl.Category>>> Control.ArrowKleisli runKleisli ArrowChoice+++left|||rightemptyleftApp^<<<<^>>^^>>returnAArrow&&&second***arrfirst ArrowZero zeroArrow ArrowPlus<+> ArrowApplyapp ArrowMonad ArrowLooploop<<< Data.Textcopy stripSuffixcommonPrefixes stripPrefix isInfixOf isSuffixOf isPrefixOfunwordsunlineslineswordszipWithzipcount findIndexindex breakOnAll breakOnEndbreakOnfilter partitionfindelemchunksOfsplitsplitOntailsinitsgroupgroupBybreakspansplitAtstripstripEnd stripStart dropAround dropWhileEnd dropWhile takeWhileEnd takeWhiledropEnddroptakeEndtakeunfoldrNunfoldr replicate mapAccumR mapAccumLscanr1scanrscanl1scanlminimummaximumallany concatMapconcatfoldr1foldrfoldl1'foldl1foldl'foldl transposecenter justifyRight justifyLefttoTitletoUppertoLower toCaseFoldreplacereverse intersperse intercalatemap compareLengthlengthnullunsnocinittaillastunconsheadappendsnocconspackData.Text.Show singletonunpackCString#unpackWebGear.Core.Traits StdHandlerWebGear.Core.Handler.Static serveFileserveDirWebGear.Core.Trait.Auth.BasicoptionalBasicAuth'optionalBasicAuth basicAuth' basicAuth BasicAuth' $sel:toBasicAttribute:BasicAuth' BasicAuthUsernamePassword Credentials$$sel:credentialsPassword:Credentials$$sel:credentialsUsername:CredentialsBasicAuthErrorBasicAuthAttributeErrorBasicAuthCredsBadFormatBasicAuthHeaderMissingBasicAuthSchemeMismatchWebGear.Core.Trait.Auth.JWToptionalJWTAuth'jwtAuth'optionalJWTAuthjwtAuthJWTAuth'$sel:toJWTAttribute:JWTAuth'#$sel:jwtValidationSettings:JWTAuth'$sel:jwkSet:JWTAuth'JWTAuth JWTAuthErrorJWTAuthAttributeErrorJWTAuthTokenBadFormatJWTAuthHeaderMissingJWTAuthSchemeMismatchWebGear.Core.Trait.Auth.CommonrespondUnauthorizedgetAuthorizationHeaderTraitAuthorizationHeaderRealm AuthToken authScheme authTokenWebGear.Core.Trait.Body respondJsonA' respondJsonArespondAsetJSONBodyWithoutContentType setJSONBody setJSONBody'setBodyWithoutContentTypesetBodyjsonRequestBodyjsonRequestBody' requestBodyBodyJSONBodyWebGear.Core.Trait.Status networkAuthenticationRequired511httpVersionNotSupported505gatewayTimeout504serviceUnavailable503 badGateway502notImplemented501internalServerError500requestHeaderFieldsTooLarge431tooManyRequests429preconditionRequired428unprocessableEntity422 imATeapot418expectationFailed417requestedRangeNotSatisfiable416unsupportedMediaType415requestURITooLong414requestEntityTooLarge413preconditionFailed412lengthRequired411gone410 conflict409requestTimeout408proxyAuthenticationRequired407notAcceptable406methodNotAllowed405 notFound404 forbidden403paymentRequired402unauthorized401 badRequest400permanentRedirect308temporaryRedirect307notModified304 seeOther303found302movedPermanently301multipleChoices300partialContent206resetContent205 noContent204nonAuthoritative203 accepted202 created201ok200switchingProtocols101 continue100 mkResponseStatusWebGear.Core.Trait.QueryParamoptionalLenientQueryParamlenientQueryParamoptionalQueryParam queryParam QueryParamRequiredQueryParamOptionalQueryParam ParamNotFoundParamParseErrorWebGear.Core.Trait.PathroutematchpathEndpathVarpathPathPathVar PathVarErrorPathVarNotFoundPathVarParseErrorPathEndWebGear.Core.Trait.MethodmethodMethodMethodMismatchexpectedMethod actualMethodWebGear.Core.Trait.HeadersetOptionalHeader setHeaderoptionalLenientHeader lenientHeaderoptionalHeaderheaderHeaderNotFoundHeaderParseErrorHeaderRequiredHeaderOptionalHeaderunlinkA routeMismatchHandler setSummarysetDescriptionarrM consumeRouteRequestHandler Middleware DescriptiongetDescriptionSummary getSummary RouteMismatchpickplantprobe linkminuslinkzero AttributeTraitAbsence TraitAbsenceGetgetTraitSetsetTraitGetsSetsunlinkHasTraitfrom MissingTrait HaveTraits toWaiResponse responseBodyresponseStatusresponseHeaders requestMethodrequestHeadersrequestBodyLength remoteHost queryStringpathInfoisSecure httpVersiongetRequestBodyChunk requestHeader waiRequestWebGear.Core.Modifiers ExistenceRequiredOptional ParseStyleStrictLenient