úÎg†bj              Safe-Inferred247For putting values in paths and query string parameters@For getting values from url captures and query string parameters ,toText True = "true" toText False = "false" UfromText "true" = Just True fromText "false" = Just False fromText _ = Nothing% !"#$%&'()*+,-./0123456789:;<=># !"#$%&'()*+,-./0123456789:;<=> Safe-Inferred&Endpoint for plugging in your own Wai  Applications. The given  ApplicationY will get the request as received by the server, potentially with a modified (stripped) pathInfo if the  Application is being routed with  .:In addition to just letting you plug in your existing WAI  Applications, this can also be used with x to serve static files stored in a particular directory on your filesystem, or to serve your API's documentation with . Safe-Inferred+IEndpoint for PUT requests, usually used to update a ressource. The type a2 is the type of the response body that's returned.Example: –-- PUT /books/:isbn -- with a Book as request body, returning the updated Book type MyApi = "books" :> Capture "isbn" Text :> ReqBody Book :> Put Book Safe-Inferred+Combinator for DELETE requests.Example: W -- DELETE /books/:isbn type MyApi = "books" :> Capture "isbn" Text :> Delete Safe-Inferred+sEndpoint for POST requests. The type variable represents the type of the response body (not the request body, use  for that).Example: ´ -- POST /books -- with a JSON encoded Book as the request body -- returning the just-created Book type MyApi = "books" :> ReqBody Book :> Post Book Safe-Inferred+<Endpoint for simple GET requests. Serves the result as JSON.Example: "type MyApi = "books" :> Get [Book] Safe-Inferred'= ^Lookup a potentially value-less matrix string parameter with boolean semantics. If the param sym] is there without any value, or if it's there with value "true" or "1", it's interpreted as ?". Otherwise, it's interpreted as @.Example: P-- /books;published type MyApi = "books" :> MatrixFlag "published" :> Get [Book] $Lookup the values associated to the symC matrix string parameter and try to extract it as a value of type [a]L. This is typically meant to support matrix string parameters of the form param[]=val1;param[]=val2< and so on. Note that servant doesn't actually require the [],s and will fetch the values just fine with param=val1;param=val2, too.Example: w-- /books;authors[]=<author1>;authors[]=<author2>;... type MyApi = "books" :> MatrixParams "authors" Text :> Get [Book] #Lookup the value associated to the symC matrix string parameter and try to extract it as a value of type a.Example: ^-- /books;author=<author name> type MyApi = "books" :> MatrixParam "author" Text :> Get [Book]     Safe-Inferred'= ,Extract the request body as a value of type a.Example: K -- POST /books type MyApi = "books" :> ReqBody Book :> Post Book     Safe-Inferred'= ]Lookup a potentially value-less query string parameter with boolean semantics. If the param sym] is there without any value, or if it's there with value "true" or "1", it's interpreted as ?". Otherwise, it's interpreted as @.Example: O-- /books?published type MyApi = "books" :> QueryFlag "published" :> Get [Book]$Lookup the values associated to the symB query string parameter and try to extract it as a value of type [a]K. This is typically meant to support query string parameters of the form param[]=val1&param[]=val2< and so on. Note that servant doesn't actually require the [],s and will fetch the values just fine with param=val1&param=val2, too.Example: v-- /books?authors[]=<author1>&authors[]=<author2>&... type MyApi = "books" :> QueryParams "authors" Text :> Get [Book]#Lookup the value associated to the symB query string parameter and try to extract it as a value of type a.Example: ]-- /books?author=<author name> type MyApi = "books" :> QueryParam "author" Text :> Get [Book]      Safe-Inferred'=4Extract the given header's value as a value of type a.Example: ±newtype Referer = Referer Text deriving (Eq, Show, FromText, ToText) -- GET /view-my-referer type MyApi = "view-my-referer" :> Header "from" Referer :> Get Referer  Safe-Inferred'=;Capture a value from the request path under a certain type a.Example: V -- GET /books/:isbn type MyApi = "books" :> Capture "isbn" Text :> Get Book  Safe-InferredJK=Union of two APIs, first takes precedence in case of overlap.Example: qtype MyApi = "books" :> Get [Book] -- GET /books :<|> "books" :> ReqBody Book :> Post Book -- POST /books  Safe-Inferred'=JK7The contained API (second argument) can be found under  ("/" ++ path)" (path being the first argument).Example: h-- GET /hello/world -- returning a JSON encoded World value type MyApi = "hello" :> "world" :> Get World  None(2468MA/Finally-tagless encoding for our DSL. Keeping repr' and repr* distinct when writing functions with an ExpSYMN context ensures certain invariants (for instance, that there is only one of B, C, D, and E9 in a value), but sometimes requires a little more work.The sitemap QuasiQuoter.... var: type... becomes a capture.../? var: type becomes a query parameter method ... typ becomes a method returning  typ method ...  typ1 -> typ2. becomes a method with request body of  typ1 and returning  typ2:Comments are allowed, and have the standard Haskell format-- for inline {- ... -} for blockFGHAIJKLMNBCDEOPQRSTUVWXYZFHGA IJKLMNBCDEOPQRSTUVWXYZONone'(2468=JKM6A safe link datatype. The only way of constructing a  is using , which means any / is guaranteed to be part of the mentioned API.,The 'ValidLinkIn f s' constraint holds when s is an API that contains f, and f is a link.[%This function will only typecheck if f is an URI within s\]^_`abc [\]^_`abcNone d ! " # $ % & ' '  ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSQRTUVWXYZ[\]^_`abcdefghijklmn+opqrstuvw servant-0.2.2Servant.Common.TextServant.API.RawServant.API.PutServant.API.DeleteServant.API.PostServant.API.GetServant.API.MatrixParamServant.API.ReqBodyServant.API.QueryParamServant.API.HeaderServant.API.CaptureServant.API.AlternativeServant.API.Sub Servant.QQServant.Utils.Links:>Servant.Utils.StaticFilesserveDirectoryserveDocumentationReqBody Servant.APIToTexttoTextFromTextfromTextRawPutDeletePostGet MatrixFlag MatrixParams MatrixParam QueryFlag QueryParams QueryParamHeaderCapture:<|>sitemap VLinkHelpervlhLink ValidLinkInmkLinkIsLinkIsElem $fToTextBool$fFromTextBool runReader $fToTextFloat$fFromTextFloat$fToTextDouble$fFromTextDouble$fToTextInteger$fFromTextInteger$fToTextWord64$fFromTextWord64$fToTextWord32$fFromTextWord32$fToTextWord16$fFromTextWord16 $fToTextWord8$fFromTextWord8 $fToTextWord$fFromTextWord $fToTextInt64$fFromTextInt64 $fToTextInt32$fFromTextInt32 $fToTextInt16$fFromTextInt16 $fToTextInt8$fFromTextInt8 $fToTextInt $fFromTextInt $fToText[] $fFromText[] $fToTextText$fFromTextTextghc-prim GHC.TypesTrueFalseExpSYMgetpostputdeleteTyp ReqArgValVallitcapturereqBody queryParam matrixParamconj>: parseMethodparseUrlSegmentparseUrlparseTyp parseEntry blockComment inlineCommenteoleolsparseAll$fExpSYMTypeTypeIsLink'IsLink''AndOr$fVLinkHelper*Post$fVLinkHelper*Get$fVLinkHelper*:>$fValidLinkInfs