| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Servant.API.HeaderList
Description
Synopsis
- data HeaderList
Documentation
data HeaderList Source #
The HeaderList combinator provides a list of
Network.HTTP.Types.Header.Header values from the WAI request.
Example:
import Control.Monad.IO.Class (liftIO)
import Servant
import ServantExtras.HeaderList
import qualified Network.HTTP.Types.Header as NTH (Header)
type MyAPI = "my-header-endpoint"
:> HeaderList
:> Get '[JSON] NoContent
myServer :: Server MyAPI
myServer = headerEndpointHandler
where
headerEndpointHandler :: [NTH.Header] -> Handler NoContent
headerEndpointHandler headers =
let mCookieValue = lookup "merlinWasHere" headers in
case mCookieValue of
Nothing -> do
liftIO $ print "Merlin was *NOT* here!"
throwError err400 { errBody = "Clearly you've missed something." }
Just message -> do
liftIO $ do
print "Merlin WAS here, and he left us a message!"
print message
pure NoContent
Instances
| HasServer api ctx => HasServer (HeaderList :> api :: Type) ctx Source # | |
Defined in Servant.API.HeaderList Associated Types type ServerT (HeaderList :> api) m # Methods route :: Proxy (HeaderList :> api) -> Context ctx -> Delayed env (Server (HeaderList :> api)) -> Router env # hoistServerWithContext :: Proxy (HeaderList :> api) -> Proxy ctx -> (forall x. m x -> n x) -> ServerT (HeaderList :> api) m -> ServerT (HeaderList :> api) n # | |
| type ServerT (HeaderList :> api :: Type) m Source # | |
Defined in Servant.API.HeaderList | |