Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 type ServerT (HeaderList :> api) m # 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 |