}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None   None Setting cookie expiration0a point in time in UTC until the cookie is valid3a period (in seconds) for which the cookie is valid+the cookie expires with the browser session9the cookie will have an expiration date in the far futureCookie settings!cookie expiration setting, see "a path for the cookie#a domain for the cookie.  means no domain is set$,whether the cookie should be set as HttpOnly%Awhether the cookie should be marked secure (sent over HTTPS only)&Default cookie settings, equals CookieSettings { cs_EOL = CookieValidForSession , cs_HTTPOnly = False , cs_secure = False , cs_domain = Nothing , cs_path = Just "/" } !"#$%&'() !"#$%&'() !"#$%&'() !"#$%&'()None(05DIOQRT?The ?' allows safe use of http verbs via the @ constructor and  , and custom verbs via the A constructor.@Standard HTTP Verbs from  ACustom HTTP Verbs using Y*+,-./0123456789:;<=>?@ABCDS*+,-./0123456789:;<=>?@ABCD'*+, -./0123456789:;<=>?@ABCDNone!"(OT'E#Get the original Wai Request objectF Read a headerG+Read a header without converting it to textHLTries to dected the preferred format of the response using the Accept headerI)Returns the current request method, e.g. GETJGet the raw request bodyKParse the request body as jsonLFParse the request body as json and fails with 400 status code on errorMGet uploaded filesNGet all request paramsORead a request param. Spock looks in route captures first (in simple routing), then in POST variables and at last in GET variablesPLike O., but outputs an error when a param is missingQSet a response statusRSet a response header. If the response header is allowed to occur multiple times (as in RFC 2616), it will be appended. Otherwise the previous value is overwritten. See .HSet a response header that can occur multiple times. (eg: Cache-Control)SHSet a response header that can occur multiple times. (eg: Cache-Control)TINTERNAL: Unsafely set a header (no checking if the header can occur multiple times)TINTERNAL: Unsafely set a header (no checking if the header can occur multiple times)TAAbort the current action and jump the next one matching the routeURedirect to a given urlVIf the Spock application is used as a middleware, you can use this to pass request handling to the underlying application. If Spock is not uses as a middleware, or there is no underlying application this will result in 404 error.WEModify the vault (useful for sharing data between middleware and app)XQuery the vaultY Use a custom  generator as response body.ZSend a  ByteString$ as response body. Provide your own  Content-Type[ Send a lazy  ByteString$ as response body. Provide your own  Content-Type\?Send text as a response body. Content-Type will be "text/plain"]>Send a text as response body. Content-Type will be "text/html"^Send a file as response_>Send json as response. Content-Type will be "application/json"`Use a  to generate a response.aConvenience Basic authentification provide a title for the prompt and a function to validate user and password. Usage example: get ("auth" <//> var <//> var) $ \user pass -> let checker user' pass' = unless (user == user' && pass == pass') $ do setStatus status401 text "err" in requireBasicAuth "Foo" checker $ \() -> text "ok"b{"Lower level" basic authentification handeling. Does not set any headers that will promt browser users, only looks for an  AuthorizationU header in the request and breaks it into username and passwort component if presentc&Get the context of the current requestd$Run an Action in a different contexte2Set a cookie. The cookie value will be urlencoded.fDelete a cookieg>Read all cookies. The cookie value will already be urldecoded.hcRead a cookie. The cookie value will already be urldecoded. Note that it is more efficient to use g> if you need do access many cookies during a request handler.(EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghK !"#$%&+,-./0123456789:;<=>EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh(EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghNoneOTkMaximum request size in bytesl`Error handler. Given status is set in response by default, but you can always override it with QmDefault Spock configuration. No restriction on maximum request size; error handler simply prints status message as plain text.ijklmijklmijklmNone %&(,:OTL !"#$%&*+,-./0123456789:;<=>EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghL+*EFGghIHJKLM:;<=>NOPcdQRUT !"#$%&efZ[S,-./0123456789\]^_`YVWXabNone %&(,:IOTp9Run a Spock application. Basically just a wrapper around .qLike pK, but does not display the banner "Spock is running on port XXX" on stdout.rWConvert a middleware to an application. All failing requests will result in a 404 pagesACreate a raw spock application with custom underlying monad Use p to run the app or r to create a Wai.Application< The first argument is request size limit in bytes. Set to  to disable.tLike s<, but first argument is request size limit in bytes. Set to  to disable.uLike sc, but with additional configuration for request size and error handlers passed as first parameter.v6Specify an action that will be run when the HTTP verb  and the given route matchw6Specify an action that will be run when the HTTP verb  and the given route matchx6Specify an action that will be run when the HTTP verb  'GET'/'POST' and the given route matchy6Specify an action that will be run when the HTTP verb  and the given route matchz6Specify an action that will be run when the HTTP verb  and the given route match{6Specify an action that will be run when the HTTP verb  and the given route match|6Specify an action that will be run when the HTTP verb  and the given route match}cSpecify an action that will be run before all subroutes. It can modify the requests current context~VSpecify an action that will be run when a standard HTTP verb and the given route matchTSpecify an action that will be run when a custom HTTP verb and the given route matchMSpecify an action that will be run when a HTTP verb and the given route matchSpecify an action that will be run when a standard HTTP verb matches but no defined route matches. The full path is passed as an argumentSpecify an action that will be run when a custom HTTP verb matches but no defined route matches. The full path is passed as an argumentSpecify an action that will be run when a HTTP verb matches but no defined route matches. The full path is passed as an argument%Define a subcomponent. Usage example: subcomponent "site" $ do get "home" homeHandler get ("misc" <//> var) $ -- ... subcomponent "admin" $ do get "home" adminHomeHandlertThe request /site/home will be routed to homeHandler and the request /admin/home will be routed to adminHomeHandlerHook wai middleware into SpockCombine two path components#Render a route applying path pieces"nopqrstuvwxyz{|}~   !"#$%&*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4pqrstuon  }vwxyz{|~ ijklm?@ABCDnopqrstuvwxyz{|}~               !"#$%&'()*++,-./0123456789:;<=>?@ABCDEEFGHIJKLLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrrstuvwxyz{|}~5v*Spock-core-0.11.0.0-67RWgf9bqeRCLxdO3C67c7Web.Spock.CoreWeb.Spock.Internal.UtilWeb.Spock.Internal.CookiesWeb.Spock.ActionWeb.Spock.Internal.WireWeb.Spock.Internal.CoreActionWeb.Spock.Internal.Config'http-types-0.9.1-BTSIP6lzG5DE6u136PaywsNetwork.HTTP.Types.MethodPATCHOPTIONSCONNECTTRACEDELETEPUTHEADPOSTGET StdMethod&reroute-0.4.0.1-1dNcCAvCOmvErERbCdooZsWeb.Routing.CombinatorsrootstaticvarPathVarClientPreferredFormatPrefJSONPrefXMLPrefHTMLPrefText PrefUnknown mimeMappingdetectPreferredFormat mapReqHeaders$fShowClientPreferredFormat$fEqClientPreferredFormat CookieEOLCookieValidUntilCookieValidForCookieValidForSessionCookieValidForeverCookieSettingscs_EOLcs_path cs_domain cs_HTTPOnly cs_securedefaultCookieSettings parseCookiesgenerateCookieHeaderString renderCookie ActionCtxTActionT MultiHeaderMultiHeaderCacheControlMultiHeaderConnectionMultiHeaderContentEncodingMultiHeaderContentLanguageMultiHeaderPragmaMultiHeaderProxyAuthenticateMultiHeaderTrailerMultiHeaderTransferEncodingMultiHeaderUpgradeMultiHeaderViaMultiHeaderWarningMultiHeaderWWWAuthMultiHeaderSetCookie UploadedFileuf_nameuf_contentTypeuf_tempLocation SpockMethodMethodStandard MethodCustom HttpMethod unHttpMethodrequestheader rawHeaderpreferredFormat reqMethodbodyjsonBody jsonBody'filesparamsparamparam' setStatus setHeadersetRawMultiHeaderjumpNextredirectmiddlewarePass modifyVault queryVaultresponsebytes lazyBytestexthtmlfilejsonstreamrequireBasicAuthwithBasicAuthData getContext runInContext setCookie deleteCookiecookiescookie SpockConfigsc_maxRequestSizesc_errorHandlerdefaultSpockConfig SpockCtxTSpockTrunSpockrunSpockNoBanner spockAsAppspockT spockLimT spockConfigTgetpostgetpostheadputdeletepatchprehook hookRoutehookRouteCustom hookRoute'hookAny hookAnyCustomhookAny' subcomponent middleware renderRoute$fMonadTransSpockCtxT$fMonadSpockCtxT$fFunctorSpockCtxT$fApplicativeSpockCtxT$fMonadIOSpockCtxTbaseGHC.BaseNothing#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalText SizeException SpockAllTSpockConfigInternalsci_maxRequestSizesci_errorHandler runActionCtxTErrorTActionInteruptActionRedirect ActionTryNext ActionError ActionDoneActionMiddlewarePass ResponseStaters_responseHeadersrs_multiResponseHeaders rs_statusrs_responseBody ResponseValResponseValStateResponseHandler ResponseBody RequestInfo ri_method ri_requestri_queryParamsri_files ri_vaultIf ri_contextVaultIfvi_modifyVault vi_lookupKey multiHeaderCImultiHeaderMap runErrorTdefaultSpockConfigInternalrespStateToResponse errorResponse defResponsemiddlewareToAppmakeActionEnvironmentremoveUploadedFiles applyAction handleRequesthandleRequest'getErrorHandlerrequestSizeCheckbuildMiddlewarewithSpockMethod$fExceptionSizeException$fMonadTransActionCtxT$fMonoidActionInterupt$fHashableMultiHeader$fHashableSpockMethod$fHashableHttpMethodsetMultiHeadersetHeaderUnsafesetRawHeaderUnsafe"wai-3.2.1.1-5RZsFhRyJZcC8rXXkujlwNNetwork.Wai.InternalResponse StreamingBody setRawHeader!warp-3.2.8-KuqFcDPRoqVHqUXze6ZlE7Network.Wai.Handler.Warp.Runrun runSpockT LiftHooked unLiftHooked injectHook baseAppHook