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

Safe HaskellSafe
LanguageHaskell2010

Servant.API.Header

Synopsis

Documentation

data Header sym a Source

Extract the given header's value as a value of type a.

Example:

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

Instances

(KnownSymbol h, ToByteString v, (~) Bool (Contains h ((:) * fst rest)) False) => AddHeader Symbol h v (Headers ((:) * fst rest) a) (Headers ((:) * (Header h v) ((:) * fst rest)) a) Source 
HasLink k sub => HasLink * ((:>) * k (Header sym a) sub) Source 
Functor (Header sym) Source 
(KnownSymbol h, ToByteString x, GetHeaders (HList xs)) => GetHeaders (HList ((:) * (Header h x) xs)) Source 
Eq a => Eq (Header sym a) Source 
Show a => Show (Header sym a) Source 
(KnownSymbol h, GetHeaders (HList rest), ToByteString v) => GetHeaders (Headers ((:) * (Header h v) rest) a) Source 
(FromByteString v, BuildHeadersTo xs, KnownSymbol h, (~) Bool (Contains h xs) False) => BuildHeadersTo ((:) * (Header h v) xs) Source 
type MkLink * ((:>) * k (Header sym a) sub) = MkLink k sub Source 
>>> import Servant.API
>>> import Data.Aeson
>>> import Data.Text
>>> data Book
>>> instance ToJSON Book where { toJSON = undefined }