| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Webcrank.Wai
- type WaiResource m = Resource (WaiCrankT m)
- data WaiCrankT m a
- dispatch :: (Applicative m, MonadIO m, MonadCatch m) => (forall a. m a -> IO a) -> ByteString -> Dispatcher (WaiResource m) -> Application
- class HasRequest s a | s -> a where
- class HasRequestDate s a | s -> a where
- requestDate :: Lens' s a
- data WaiData m
- data ReqData :: *
- getRequestBodyLBS :: (MonadIO m, MonadReader s m, HasRequest s Request) => m ByteString
- module Webcrank
- module Webcrank.Dispatch
Documentation
type WaiResource m = Resource (WaiCrankT m) Source
Monad transformer that all resource functions will run in. Provides
the ability to read the WAI inside resource functions.Request
Instances
| MonadTrans WaiCrankT Source | |
| Monad m => MonadState ReqData (WaiCrankT m) Source | |
| Monad m => MonadWriter LogData (WaiCrankT m) Source | |
| Monad m => Monad (WaiCrankT m) Source | |
| Functor m => Functor (WaiCrankT m) Source | |
| Monad m => Applicative (WaiCrankT m) Source | |
| MonadThrow m => MonadThrow (WaiCrankT m) Source | |
| MonadCatch m => MonadCatch (WaiCrankT m) Source | |
| MonadMask m => MonadMask (WaiCrankT m) Source | |
| MonadIO m => MonadIO (WaiCrankT m) Source | |
| Monad m => MonadReader (WaiData (WaiCrankT m)) (WaiCrankT m) Source |
Arguments
| :: (Applicative m, MonadIO m, MonadCatch m) | |
| => (forall a. m a -> IO a) | run |
| -> ByteString | base uri |
| -> Dispatcher (WaiResource m) | |
| -> Application |
Function for turning s into Dispatchers.
A Applicationrun function must be provided for executing the application
logic. In the simplest case, where m is IO, this can just be
.id
class HasRequest s a | s -> a where Source
Instances
Holds the request and resource state during request processing.
Instances
| HasResourceData (WaiData m) m Source | |
| HasRequestDate (WaiData m) HTTPDate Source | |
| HasRequest (WaiData m) Request Source | |
| Monad m => MonadReader (WaiData (WaiCrankT m)) (WaiCrankT m) Source |
data ReqData :: *
Container used to keep track of the decision state and what is known about response while processing a request.
Instances
| HasReqData ReqData | |
| Monad m => MonadState ReqData (WaiCrankT m) |
getRequestBodyLBS :: (MonadIO m, MonadReader s m, HasRequest s Request) => m ByteString Source
module Webcrank
module Webcrank.Dispatch