ę      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None%&(05DIOQRT%The %' allows safe use of http verbs via the & constructor and  , and custom verbs via the ' constructor.&Standard HTTP Verbs from  'Custom HTTP Verbs using j !"#$%&'()*c !"#$%&'()*-  !"#$%&'()*None +,-./0123 +,-./0123 +,-./0123+,-./0123None 6Setting cookie expiration70a point in time in UTC until the cookie is valid83a period (in seconds) for which the cookie is valid9+the cookie expires with the browser session:9the cookie will have an expiration date in the far future;Cookie settings=cookie expiration setting, see 6>a path for the cookie?a domain for the cookie.  means no domain is set@,whether the cookie should be set as HttpOnlyAAwhether the cookie should be marked secure (sent over HTTPS only)BDefault cookie settings, equals CookieSettings { cs_EOL = CookieValidForSession , cs_HTTPOnly = False , cs_secure = False , cs_domain = Nothing , cs_path = Just "/" }6789:;<=>?@ABCDE6789:;<=>?@ABCDE;<=>?@A6789:BCDE6789:;<=>?@ABCDENone(OT+F#Get the original Wai Request objectG Read a headerH+Read a header without converting it to textILTries to dected the preferred format of the response using the Accept headerJ)Returns the current request method, e.g. GETKGet the raw request bodyLParse the request body as jsonMFParse the request body as json and fails with 400 status code on errorNGet uploaded filesOGet all request GET paramsPGet all request POST paramsQ#Get all request (POST + GET) paramsRPRead a request param. Spock looks POST variables first and then in GET variablesSLike R., but outputs an error when a param is missingTSet a response statusUSet 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)VHSet 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)WAAbort the current action and jump the next one matching the routeXRedirect to a given urlY%Respond to the request by running an . This is usefull in combination with wildcard routes. This can not be used in combination with other request consuming combinators like L, K, P, ...Z$Respond to the request by running a . This is usefull in combination with wildcard routes. This can not be used in combination with other request consuming combinators like L, K, P, ...[If 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.\EModify the vault (useful for sharing data between middleware and app)]Query the vault^ Use a custom  generator as response body._Send a  ByteString$ as response body. Provide your own  Content-Type` Send a lazy  ByteString$ as response body. Provide your own  Content-Typea?Send text as a response body. Content-Type will be "text/plain"b>Send a text as response body. Content-Type will be "text/html"cSend a file as responsed>Send json as response. Content-Type will be "application/json"eUse a  to generate a response.fConvenience 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"g{"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 presenth&Get the context of the current requesti$Run an Action in a different contextj2Set a cookie. The cookie value will be urlencoded.kDelete a cookiel>Read all cookies. The cookie value will already be urldecoded.mcRead a cookie. The cookie value will already be urldecoded. Note that it is more efficient to use l> if you need do access many cookies during a request handler.,FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmO !"#$+,-./06789:;<=>?@ABFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm,FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmNoneOTpMaximum request size in bytesq`Error handler. Given status is set in response by default, but you can always override it with TrDefault Spock configuration. No restriction on maximum request size; error handler simply prints status message as plain text.nopqrnopqrnopqrNone %&(,:OTP !"#$+,-./06789:;<=>?@ABFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmPFGHlmJI+,-./0KLMN !"#$QOPRShiTUXW;<=>?@AB6789:jk_`Vabcde^YZ[\]fgNone,stuvwxstuvwxstuvwxstuvwxNone %&(,:IOT{9Run a Spock application. Basically just a wrapper around .|Like {K, but does not display the banner "Spock is running on port XXX" on stdout.}WConvert a middleware to an application. All failing requests will result in a 404 page~ACreate a raw spock application with custom underlying monad Use { to run the app or } to create a Wai.Application< The first argument is request size limit in bytes. Set to  to disable.Like ~<, but first argument is request size limit in bytes. Set to  to disable.Like ~c, but with additional configuration for request size and error handlers passed as first parameter.6Specify an action that will be run when the HTTP verb  and the given route match6Specify an action that will be run when the HTTP verb  and the given route match6Specify an action that will be run when the HTTP verb  'GET'/'POST' and the given route match6Specify an action that will be run when the HTTP verb  and the given route match6Specify an action that will be run when the HTTP verb  and the given route match6Specify an action that will be run when the HTTP verb  and the given route match6Specify an action that will be run when the HTTP verb  and the given route matchcSpecify an action that will be run before all subroutes. It can modify the requests current contextVSpecify 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%yz{|}~   !"#$%&'()*+,-./06789:;<=>?@ABFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqryz{|}~5{|}~zy  nopqr%&'()*!yz{|}~           !"#$%&'()*+,--./01234456789:;<=>?@ABCDEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxxyz{|}~)Spock-core-0.12.0.0-52NkRqJ6UV6UFcnJRpampWeb.Spock.CoreWeb.Spock.ActionWeb.Spock.Internal.UtilWeb.Spock.Internal.CookiesWeb.Spock.RoutingWeb.Spock.Internal.WireWeb.Spock.Internal.CoreActionWeb.Spock.Internal.Config'http-types-0.9.1-DZHEfEDnAxjEEutG9PeGCFNetwork.HTTP.Types.MethodPATCHOPTIONSCONNECTTRACEDELETEPUTHEADPOSTGET StdMethod&reroute-0.4.1.0-63BpYGFtl2fLuXa1nx9PjpWeb.Routing.CombinatorswildcardrootstaticvarPathVar ActionCtxTActionT MultiHeaderMultiHeaderCacheControlMultiHeaderConnectionMultiHeaderContentEncodingMultiHeaderContentLanguageMultiHeaderPragmaMultiHeaderProxyAuthenticateMultiHeaderTrailerMultiHeaderTransferEncodingMultiHeaderUpgradeMultiHeaderViaMultiHeaderWarningMultiHeaderWWWAuthMultiHeaderSetCookie UploadedFileuf_nameuf_contentTypeuf_tempLocation SpockMethodMethodStandard MethodCustom HttpMethod unHttpMethodClientPreferredFormatPrefJSONPrefXMLPrefHTMLPrefText PrefUnknown mimeMappingdetectPreferredFormat mapReqHeaders$fShowClientPreferredFormat$fEqClientPreferredFormat CookieEOLCookieValidUntilCookieValidForCookieValidForSessionCookieValidForeverCookieSettingscs_EOLcs_path cs_domain cs_HTTPOnly cs_securedefaultCookieSettings parseCookiesgenerateCookieHeaderString renderCookierequestheader rawHeaderpreferredFormat reqMethodbodyjsonBody jsonBody'files paramsGet paramsPostparamsparamparam' setStatus setHeadersetRawMultiHeaderjumpNextredirect respondApprespondMiddlewaremiddlewarePass modifyVault queryVaultresponsebytes lazyBytestexthtmlfilejsonstreamrequireBasicAuthwithBasicAuthData getContext runInContext setCookie deleteCookiecookiescookie SpockConfigsc_maxRequestSizesc_errorHandlerdefaultSpockConfigRouteM addMiddlewareinSubcomponent withPrehookwireAny wireRoute SpockCtxTSpockTrunSpockrunSpockNoBanner spockAsAppspockT spockLimT spockConfigTgetpostgetpostheadputdeletepatchprehook hookRoutehookRouteCustom hookRoute'hookAny hookAnyCustomhookAny' subcomponent middleware renderRoute$fRouteMSpockCtxT$fMonadTransSpockCtxT$fMonadSpockCtxT$fFunctorSpockCtxT$fApplicativeSpockCtxT$fMonadIOSpockCtxT#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalText SizeException SpockAllTSpockConfigInternalsci_maxRequestSizesci_errorHandler runActionCtxTErrorTActionInteruptActionRedirect ActionTryNext ActionError ActionDoneActionMiddlewarePassActionMiddlewareActionApplication ResponseStaters_responseHeadersrs_multiResponseHeaders rs_statusrs_responseBody ResponseValResponseValStateResponseHandler ResponseBody RequestInfo ri_method ri_request ri_getParams ri_reqBody ri_vaultIf ri_context RequestBodyrb_value rb_postParamsrb_filesCacheVarcv_lock cv_makeValcv_valuecv_readVaultIfvi_modifyVault vi_lookupKey newCacheVarloadCacheVarOpt loadCacheVar multiHeaderCImultiHeaderMap runErrorTdefaultSpockConfigInternalrespStateToResponse errorResponse defResponsemiddlewareToAppmakeActionEnvironmentremoveUploadedFiles applyAction handleRequesthandleRequest'getErrorHandlerrequestSizeCheckbuildMiddlewarewithSpockMethod$fExceptionSizeException$fMonadTransActionCtxT$fMonoidActionInterupt$fHashableMultiHeader$fFunctorCacheVar$fHashableSpockMethod$fHashableHttpMethodbaseGHC.BaseNothingsetMultiHeadersetHeaderUnsafesetRawHeaderUnsafe"wai-3.2.1.1-G2zkcyMEfdMK30Jo08oNEq Network.Wai Application MiddlewareNetwork.Wai.InternalResponse StreamingBody setRawHeader"warp-3.2.11-LrD6SWnn3j9EKpuXBz2BC3Network.Wai.Handler.Warp.Runrun runSpockT LiftHooked unLiftHooked injectHookwithPrehookImpl wireRouteImpl baseAppHook