1շ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                  None :=HKMUA file uploading backend. Takes the parameter name, file name, and a stream of data.4Post parameter name and associated file information.Post parameter name and value. Information on an uploaded file.BParse the HTTP accept string to determine supported content types.Store uploaded files in memory-Parse a content type value, turning a single  ByteStringA into the actual content type and a list of pairs of attributes. Since 1.3.2) parameter name!"#$%&'()*+,-./012bound%Bool indicates if the bound was found3456 !"#$&'( !"#$%&'()*+,-./0123456None &'(3=HM*Symbol Proxy for ghc-7.6 Template Haskell..789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_None&(23468:=JKM$type family to constraint multi kvs. aMembers ["foo" := Int, "bar" := Double] prms == (Member "foo" Int prms, Member "bar" Double prms)4type family version Member for NotMember constraint. get value of key. ghci> get (Proxy :: Proxy "bar") $ insert (Proxy :: Proxy "bar") (0.5 :: Double) $ insert (Proxy :: Proxy "foo") (12 :: Int) empty 0.5 ghci> get (Proxy :: Proxy "foo") $ insert (Proxy :: Proxy "bar") (0.5 :: Double) $ insert (Proxy :: Proxy "foo") (12 :: Int) empty 12/ghc raise compile error when key is not exists. Dghci> get (Proxy :: Proxy "baz") $ insert (Proxy :: Proxy "bar") (0.5 :: Double) $ insert (Proxy :: Proxy "foo") (12 :: Int) empty <interactive>:15:1: No instance for (Member "baz" a0 '[]) arising from a use of it  In the first argument of print , namely it  In a stmt of an interactive GHCi command: print it (kind) Dict element. empty Dict.insert element. ghci> :t insert (Proxy :: Proxy "foo") (12 :: Int) empty insert (Proxy :: Proxy "foo") (12 :: Int) empty :: Dict '["foo" ':= Int] ghci> :t insert (Proxy :: Proxy "bar") (0.5 :: Double) $ insert (Proxy :: Proxy "foo") (12 :: Int) empty insert (Proxy :: Proxy "bar") (0.5 :: Double) $ insert (Proxy :: Proxy "foo") (12 :: Int) empty :: Dict '["bar" ':= Double, "foo" ':= Int]Cghc raise compile error when insert duplicated key(> ghc-7.8 only). ghci> :t insert (Proxy :: Proxy "foo") (0.5 :: Double) $ insert (Proxy :: Proxy "foo") (12 :: Int) empty <interactive>:1:1: Couldn't match type 'True  with 'False  Expected type: 'False Actual type: Member' "foo" '["foo" ':= Int] In the expression: insert (Proxy :: Proxy "foo") (0.5 :: Double) In the expression: insert (Proxy :: Proxy "foo") (0.5 :: Double) $ insert (Proxy :: Proxy "foo") (12 :: Int) emptyconstruct string literal proxy.$[key|foo|] == (Proxy :: Proxy "foo") ` abcde       `  abcdeNoneTfg fgNone(+234=JKM 6read query parameter.7pretty query parameter.:read route path parameter.>check existance?allow key only value@ require valueH$readPath providing type using Proxy.h$always success. for check existence.i-allow no parameter. but check parameter type.jZfuzzy date parse. three decimal split by 1 char. if year < 100 then + 2000. since 0.16.0.example: 2014-02-0514-2-514.2.05kZfuzzy date parse. three decimal split by 1 char. if year < 100 then + 2000. since 0.16.0.example: 2014-02-0514-2-514.2.05lrjavascript boolean. when "false", "0", "-0", "", "null", "undefined", "NaN" then False, else True. since 0.6.0.0.mrjavascript boolean. when "false", "0", "-0", "", "null", "undefined", "NaN" then False, else True. since 0.6.0.0.x !"#$%&'()*+,-./01234568value of query parameter. Nothing is key only parameter.Noting is fail.789::Nothing is failed. | pretty type of route path parameter.;<=>?@ABCDEFGnoHpqrstuvwIJKLMNOPQRSTUVWXYxyz{|}~hijklm; !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY;9:;H5678<@?>=ABCDEFG234+,-./01)*'(%&#$!" IJKLMNOPQRSTUVWXY] !"#$%&'()*+,-./0123456789:;<@?>=ABCDEFGnoHpqrstuvwIJKLMNOPQRSTUVWXYxyz{|}~hijklmNoneET`query parameters documentp** without nameq ** with name6Z[\]^_`abcdefghijklmnopqrstuvwxy)Z[\]^_`abcdefghijklmnopqrstuvwxy Z[\]^_`abcdefghijklmnsrqpot yxwvuNoneZ[\]^_`abcdefghijklmnopqrsjklmnsrqpofghiZ[\]^_`abcdeNonegoogle analytics. since 0.17.0.0construct Html as route parameter. since 0.13.0. z{|}~z{|}~z{|}~z{|}~None!"&(-2468=HJKMT2call when no handler matched.used unless call  function.initial headers.used by  filter.auto generated document.%n must be Monad, so cant be MFunctor.get raw request. since 0.1.0.0.get parameter. since 1.0.0.example: param [key|foo|]get parameters. since 1.0.0. W[params|foo,bar|] == do { a <- param [key|foo|]; b <- param [key|bar|]; return (a, b) }2parse request body and return params. since 1.0.0.3parse request body and return files. since 0.9.0.0.'get all request headers. since 0.6.0.0.set status code. since 0.1.0.0.&modify response header. since 0.1.0.0.0Don't set Content-Type using this function. Use  contentType.#add response header. since 0.1.0.0.0Don't set Content-Type using this function. Use  contentType.$set response headers. since 0.1.0.0.0Don't set Content-Type using this function. Use  contentType.set content-type header.Aif content-type header already exists, replace it. since 0.1.0.0.'lookup extensional state. since v1.2.0.'modify extensional state. since v1.2.0.'insert extensional state. since v1.2.0.'adjust extensional state. since v1.2.0.'delete extensional state. since v1.2.0.3stop handler and send current state. since 0.3.3.0."stop with response. since 0.4.2.0.redirect handler2set status and add location header. since 0.3.3.0. rename from redirect in 0.6.2.0.3redirect with 301 Moved Permanently. since 0.3.3.0.redirect with:;303 See Other (HTTP/1.1) or 302 Moved Temporarily (Other)since 0.6.2.0.redirect with:C307 Temporary Redirect (HTTP/1.1) or 302 Moved Temporarily (Other)since 0.3.3.0.)set raw response constructor. since 0.10.example(use pipes-wai) ~producer :: Monad m => Producer (Flush Builder) IO () -> ActionT' exts m () producer = response (s h -> responseProducer s h) 2reset response body to no response. since v0.15.2.Hset response body file content, without set Content-Type. since 0.1.0.0.Sset response body file content and detect Content-Type by extension. since 0.1.0.0.%file modification check since 0.17.2.=send file contents as lazy bytestring response. since v1.1.4..set response body from builder. since 0.1.0.0.7set response body from strict bytestring. since 0.15.2.5set response body from lazy bytestring. since 0.15.2.Aset response body from strict text. encoding UTF-8. since 0.15.2.?set response body from lazy text. encoding UTF-8. since 0.15.2.:set response body from show. encoding UTF-8. since 0.15.2.<set response body from string. encoding UTF-8. since 0.15.2.:set response body from char. encoding UTF-8. since 0.15.2./append response body from builder. since 1.2.0.9append response body from strict bytestring. since 1.2.0.7append response body from lazy bytestring. since 1.2.0.Cappend response body from strict text. encoding UTF-8. since 1.2.0.Aappend response body from lazy text. encoding UTF-8. since 1.2.0.<append response body from show. encoding UTF-8. since 1.2.0.>append response body from string. encoding UTF-8. since 1.2.0.<append response body from char. encoding UTF-8. since 1.2.0.(set response body source. since 0.9.0.0.Location redirect toRz{|}~[ None!"(246=HJKM  None(HJKM&combine two Initializer. since 0.16.0.  None(246=HIKM Apiary monad. since 0.8.0.0.run Apiary monad.get Apiary extension.get Apiary configuration. filter by action. since 0.6.1.0.splice ActionT to ApiaryT.add middleware.#API document group. since 0.12.0.0. only top level group recognized.!add API document. since 0.12.0.0.bIt use only filters prior document, so you should be placed document directly in front of action.,add user defined precondition. since 0.13.0.ignore next document.A      !"#$%&'()*+,-./012345'      !"#$%&'()*+,-./012345None:z{|}~:z{|}~None !"&(3JKlow level filter function.filter and append argument."filter only(not modify arguments).tuvwxyNone &(3=JKMT.check first path and drill down. since 0.11.0.#check consumed paths. since 0.11.1.6,get first path and drill down. since 0.11.0.666None(E#capture QuasiQuoter. since 0.1.0.0.example: [capture|/path|] -- first path == "path" [capture|/int/foo::Int|] -- first path == "int" && get 2nd path as Int. [capture|/bar::Int/baz::Double|] -- get first path as Int and get 2nd path as Double. [capture|/**baz|] -- feed greedy and get all path as [Text] (since 0.17.0). )this QQ can convert pure function easily.  [capture|foo\foo::Int|] == path "path" . fetch (Proxy :: Proxy ("foo" := Int)) . endPath [capture|barlbar::Int/**rest|] == path "path" . fetch (Proxy :: Proxy ("foo" := Int)) . restPath (Proxy :: Proxy "rest") 789:789:None (3=JKMT%filter by HTTP method. since 0.1.0.0. Bmethod GET -- stdmethod method "HOGE" -- non standard method &filter by ssl accessed. since 0.1.0.0.#http version filter. since 0.5.0.0.,http/0.9 only accepted fiter. since 0.5.0.0.,http/1.0 only accepted fiter. since 0.5.0.0.,http/1.1 only accepted fiter. since 0.5.0.0. filter by  of .'add document to query parameter filter.  [key|key|] ?? "document" =: pInt+get first matched paramerer. since 0.5.0.0. [key|key|] =: pInt )get one matched paramerer. since 0.5.0.0.+when more one parameger given, not matched. [key|key|] =!: pInt ,get optional first paramerer. since 0.5.0.0.Bwhen illegal type parameter given, fail match(don't give Nothing). [key|key|] =?: pInt 8get optional first paramerer with default. since 0.16.0.Bwhen illegal type parameter given, fail match(don't give Nothing). ey|key|] =!?: (0 :: Int) "get many paramerer. since 0.5.0.0. [key|key|] =*: pInt "get some paramerer. since 0.5.0.0. [key|key|] =+: pInt 9get existance of key only query parameter. since v0.17.0..filter by header and get first. since 0.6.0.0.Fcheck whether to exists specified valued header or not. since 0.6.0.0.Brequire Accept header and set response Content-Type. since 0.16.0.;<=>?$tuvwxy$tyxwvu;<=>? None None None (3HMTDuse this function instead of serverWith in heroku app. since 0.17.0. , runApiaryTWith id (run 3000) exts def $ footo , runHerokuTWith id run exts def $ foo Cuse this function instead of runApiary in heroku app. since 0.18.0.this function provide:&set port by PORT environment variable.>getHerokuEnv function(get config from environment variable or  heroku config  command).@ABC   heroku environment variable name  heroku environment variable nameDE       @ABC   DENoneFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ABCDEFIJKLMNOPQRSTUVWXYz{|}~ None Wsend file contents as lazy bytestring response with detect Content-Type. since v1.2.0. =send file contents as lazy bytestring response. since v1.2.0.  FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ABCDEFIJKLMNOPQRSTUVWXYz{|}~       !""#$%&'()*+,-./0123456789:;<<==>>??@@AABCDEFFGHIJKLMNOPQRSTUVWWXYZ[\]^_`abcdefghijklmnoopqrsttuvMwxxyz{{|}~O  syr             W\ YZ[!"#$%&'()*+,-./01234565758595:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3YZ[Z\]^]^(_`abcdefghijklmnopqrstuvwxyz{|}~        !"#$%&'()*+,-./012  3 4 5 6 7898:8;8<8=8>8?@ABCDEFGHFGIFGJFGKFGLFGMFGNFGOFGPFGQFGRFGSFGTFGUFGVFGWFGXFGYFGZFG[FG\FG]FG^FG_FG`FGaFGbFGcFGdFGeFGfFGgFGhFGiFGjFGkFGlFGmFGnFGoFGpFGqFGrFGsFGtFGuFGvFGwFGxFGyFGzFG{FG|FG}FG~FGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFGFG      apiary-1.2.1Data.Apiary.CompatControl.Monad.Apiary.ActionData.Apiary.DictData.Apiary.MethodData.Apiary.ParamData.Apiary.DocumentControl.Monad.Apiary.FilterData.Apiary.Document.HtmlData.Apiary.ExtensionControl.Monad.Apiary#Control.Monad.Apiary.Filter.CaptureWeb.Apiary.HerokuWeb.Apiary.DevelopNetwork.Wai.ParseData.Apiary.Document.Internal$Control.Monad.Apiary.Action.InternalrootData.Apiary.Extension.InternalControl.Monad.Apiary.Internal$Control.Monad.Apiary.Filter.Internal,Control.Monad.Apiary.Filter.Internal.Capture/Control.Monad.Apiary.Filter.Internal.Capture.TH rootPattern ApiaryConfig Web.Apiarybase GHC.TypeLits KnownSymbolSymbol symbolVal wai-3.0.2Network.Wai.Internal StreamingBodySProxyMembers NotMemberMember'MembergetDictElem:=emptyinsertkeyMethod NonStandardPATCHOPTIONSCONNECTTRACEDELETEPUTHEADPOSTGET renderMethoddispatchMethod parseMethodOptionalOptionSomeManyOneFirstStrategySNextstrategy strategyRep StrategyRep strategyInfoReqParam reqParams reqParamRepQuery readQueryqueryRepqTypeRepPathreadPathpathRepQueryRepNoValueCheckNullableStrictFile fileParameterfileNamefileContentType fileContentParam readPathAspBoolpIntpWordpDoublepText pLazyText pByteStringpLazyByteStringpStringpMaybepFilepFirstpOnepManypSomepOption pOptional MethodDocqueries preconditionsacceptdocumentQueryDoc queryName queryStrategy queryDocumentPathDocpathmethods DocumentsnoGroupgroupsRouteEndAnyRestFetchDoc DocAcceptDocPreconditionDocQuery DocMethodDocRootDefaultDocumentConfig documentTitledocumentDescriptiondocumentUseCDNdocumentGoogleAnalyticsdefaultDocumentToHtmlrpHtml ContentTypeActionT MonadExtsgetExts Extension extMiddlewareextMiddleware' Middleware' ExtensionsnotFound defaultStatusdefaultHeadersdefaultContentType failStatus failHeadersmimeTypedefaultDocumentationAction hoistActionT getRequest getParamsparamparamsgetQueryParamsgetReqBodyParamsgetReqBodyFiles getHeadersstatus modifyHeader addHeader setHeaders contentType lookupVault modifyVault insertVault adjustVault deleteVaultstopstopWith redirectWithredirectPermanentlyredirectredirectTemporary rawResponseresetfile'filedevFile'devFilebuilderbytes lazyBytestextlazyTextshowingstringchar appendBuilder appendBytesappendLazyBytes appendTextappendLazyText appendShowing appendString appendCharstream InitializerHas getExtension Initializer'getExt initializer initializer'initializerBracketinitializerBracket'+> noExtensionApiaryTrunApiaryTWith runApiaryWith runApiary apiaryExt apiaryConfigfocusfocus'action middlewaregroup preconditionnoDocfunction function' function_endPathfetchanyPathrestPathcaptureHasDesc queryDescQueryKey queryKeyDescmethodssl httpVersionhttp09http10http11??query=:=!:=?:=?!:=*:=+: switchQueryheadereqHeader HerokuConfig defaultPortherokuExecutableName herokuAppNameherokuApiaryConfigHerokurunHerokuTWith runHerokuWith runHeroku getHerokuEnv' getHerokuEnvBackEndFileInfoparseHttpAccept lbsBackEndparseContentTypeWTBWTBDone WTBWorkingBound PartialBoundNoBound FoundBoundSourceRequestBodyType Multipart UrlEncoded breakDiscardgetRequestBodyTypeparseRequestBodysinkRequestBodyconduitRequestBodytakeLine takeLinesmkSource readSourceleftover parsePieces findBoundsinkTillBound' wrapTillBound sinkTillBound parseAttrskillCRLFkillCRData.Typeable.InternalTypeable Data.Typeablegcast2gcast1gcasteqTcast showsTypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOftypeRep tyConString typeRepArgs typeRepTyConmkTyCon3mkAppTy funResultTy splitTyConAppmkFunTy mkTyConAppTypeRep tyConName tyConModule tyConPackageTyCon Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7Data.Type.EqualityRefl:~: Data.ProxyProxygetImplTFCo:R:Members:prmsTFCo:R:Members[]prms $fMemberkv: $fMemberkv:0$fIsStringMethod$fHashableMethod $fQuery() $fQueryMaybe $fPathDay $fQueryDay $fQueryBool $fPathBoolTextjsToBoolreadText readTextInt readTextWordreadTextDoublereadBS readBSInt readBSWord readBSDouble$fStrategyOptional$fStrategyOption$fStrategySome$fStrategyMany $fStrategyOne$fStrategyFirst $fReqParama$fReqParamFile $fQuery[]$fQueryByteString$fQueryByteString0 $fQueryText $fQueryText0 $fQueryFloat $fQueryDouble $fQueryWord64 $fQueryWord32 $fQueryWord16 $fQueryWord8 $fQueryWord$fQueryInteger $fQueryInt64 $fQueryInt32 $fQueryInt16 $fQueryInt8 $fQueryInt$fPath[]$fPathByteString$fPathByteString0 $fPathText $fPathText0 $fPathFloat $fPathDouble $fPathWord64 $fPathWord32 $fPathWord16 $fPathWord8 $fPathWord $fPathInteger $fPathInt64 $fPathInt32 $fPathInt16 $fPathInt8 $fPathInt $fPathCharToDocumentStatetoDocumentPathtoDocumentMethodDoctoDocumentQueriestoDocumentPrecondstoDocumentAccepttoDocumentDocumentActionDocumentDocGroup DocDropNextDocAnyDocRestDocFetchDocPathinitialToDocumentState docToDocument mergePathDoc mergeMethodsdocsToDocuments $fEqRoute noDescription routeToHtml analytics$fDefaultDefaultDocumentConfig unActionTStopPassContinue ActionEnv actionConfig actionRequestactionDocuments actionExts AddExtension NoExtension ActionStateactionResponse actionStatus actionHeaders actionVaultactionContentType actionReqBody actionFetches ResponseBody ResponseFunc ResponseRawResponseStreamResponseBuilder ResponseFiledefaultNotFound toResponse initialState runActionTactionT applyDict execActionTgetEnv getConfigparamsE getDocumentsgetRequestBody modifyStategetState$fMonadExtsextsActionT$fMonadReaderrActionT$fMonadBaseControlbActionT$fMonadTransControlActionT$fMonadBasebActionT$fMonadPlusActionT$fAlternativeActionT$fMonadMaskActionT$fMonadCatchActionT$fMonadThrowActionT$fMonadTransActionT$fMonadIOActionT$fMonadActionT$fApplicativeActionT$fMonadExtsesReaderT$fMonoidResponseBody$fDefaultApiaryConfig unInitializerallMiddleware' allMiddleware$fCategory[]Initializer$fHasa:$fHasa:0 addExtension unApiaryT ApiaryWriter writerRouter writerDocwriterMw ApiaryEnv envFilter envMethodenvPath envConfigenvDocenvExtsPathElemRestPathEndPathRootPath FetchPathExact PathMethod methodMap anyMethodActionT'Routerchildren capturing restMatch pathMethod emptyRouteremptyPathMethod insertRouter initialEnvapiaryTrouterToAction getApiaryEnvaddRouteinsDoc$fMonadExtsextsApiaryT$fMonadBaseControlbApiaryT$fMonadTransControlApiaryT$fMonadBasebApiaryT$fMonadIOApiaryT$fMonadTransApiaryT$fMonadApiaryT$fApplicativeApiaryT$fFunctorApiaryT$fMonoidApiaryWriterfetch'preCap splitPath descriptionmkCapmatchContentTypeprettyContentType$fHasDescSProxy$fHasDescProxy$fHasDescQueryKey herokuEnv herokuConfig initHeroku$fDefaultHerokuConfig$fExtensionHeroku Control.Monadguard MonadPlusmplusmzeromfilter>=>msumblaze-html-0.7.0.3Text.Blaze.HtmlHtmldata-default-class-0.0.1Data.Default.Classdefhttp-types-0.8.5Network.HTTP.Types.StatusstatusIsServerErrorstatusIsClientErrorstatusIsRedirectionstatusIsSuccessfulstatusIsInformational networkAuthenticationRequired511 status511httpVersionNotSupported505 status505gatewayTimeout504 status504serviceUnavailable503 status503 badGateway502 status502notImplemented501 status501internalServerError500 status500requestHeaderFieldsTooLarge431 status431tooManyRequests429 status429preconditionRequired428 status428 imATeaPot418 status418expectationFailed417 status417requestedRangeNotSatisfiable416 status416unsupportedMediaType415 status415requestURITooLong414 status414requestEntityTooLarge413 status413preconditionFailed412 status412lengthRequired411 status411gone410 status410 conflict409 status409requestTimeout408 status408proxyAuthenticationRequired407 status407notAcceptable406 status406methodNotAllowed405 status405 notFound404 status404 forbidden403 status403paymentRequired402 status402unauthorized401 status401 badRequest400 status400temporaryRedirect307 status307 useProxy305 status305notModified304 status304 seeOther303 status303found302 status302movedPermanently301 status301multipleChoices300 status300partialContent206 status206resetContent205 status205 noContent204 status204nonAuthoritative203 status203 accepted202 status202 created201 status201ok200 status200switchingProtocols101 status101 continue100 status100 statusMessage statusCodeStatustransformers-0.4.2.0Control.Monad.IO.ClassMonadIOliftIO Network.Wai ApplicationfilePartFileSizefilePartByteCountfilePartOffsetFilePart