servant-0.14: A family of combinators for defining webservices APIs

Safe HaskellNone
LanguageHaskell2010

Servant.API.Header

Synopsis

Documentation

type Header = Header' '[Optional, Strict] Source #

Extract the given header's value as a value of type a. I.e. header sent by client, parsed by server.

Example:

>>> newtype Referer = Referer Text deriving (Eq, Show)
>>> 
>>> -- GET /view-my-referer
>>> type MyApi = "view-my-referer" :> Header "from" Referer :> Get '[JSON] Referer

data Header' (mods :: [*]) (sym :: Symbol) a Source #

Instances

(KnownSymbol h, ToHttpApiData v) => AddHeader h v (Headers ((:) * fst rest) a) (Headers ((:) * (Header * h v) ((:) * fst rest)) a) Source # 

Methods

addOptionalHeader :: ResponseHeader h v -> Headers ((* ': fst) rest) a -> Headers ((* ': Header * h v) ((* ': fst) rest)) a

HasLink * sub => HasLink * ((:>) * (Header' * mods sym a) sub) Source # 

Associated Types

type MkLink ((* :> Header' * mods sym a) sub) (endpoint :: (* :> Header' * mods sym a) sub) a :: * Source #

Methods

toLink :: (Link -> a) -> Proxy ((* :> Header' * mods sym a) sub) endpoint -> Link -> MkLink ((* :> Header' * mods sym a) sub) endpoint a Source #

(FromHttpApiData v, BuildHeadersTo xs, KnownSymbol h) => BuildHeadersTo ((:) * (Header * h v) xs) Source # 

Methods

buildHeadersTo :: [Header] -> HList ((* ': Header * h v) xs) Source #

type MkLink * ((:>) * (Header' * mods sym a) sub) r Source # 
type MkLink * ((:>) * (Header' * mods sym a) sub) r = MkLink * sub r