Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type Verb = StdMethod
- type HandleUpload m u = Request -> m (Maybe u)
- type Respond u r = Request -> Maybe u -> r
- type ResponseSpec u m r = (HandleUpload m u, Respond u r)
- newtype Verbs u m r = Verbs {
- unVerbs :: Map Verb (ResponseSpec u m r)
- supplyReq :: Request -> Map Verb (ResponseSpec u m r) -> Map Verb (m (Maybe u), Maybe u -> r)
- newtype VerbListenerT r u m a = VerbListenerT {
- runVerbListenerT :: WriterT (Union (Verbs u m r)) m a
- execVerbListenerT :: Monad m => VerbListenerT r u m a -> m (Verbs u m r)
- foldMWithKey :: Monad m => (acc -> Verb -> a -> m acc) -> acc -> Map Verb a -> m acc
- get :: Monad m => r -> VerbListenerT r u m ()
- getReq :: Monad m => (Request -> r) -> VerbListenerT r u m ()
- post :: (Monad m, MonadIO m) => HandleUpload m u -> (Maybe u -> r) -> VerbListenerT r u m ()
- postReq :: (Monad m, MonadIO m) => HandleUpload m u -> (Request -> Maybe u -> r) -> VerbListenerT r u m ()
- put :: (Monad m, MonadIO m) => HandleUpload m u -> (Maybe u -> r) -> VerbListenerT r u m ()
- putReq :: (Monad m, MonadIO m) => HandleUpload m u -> (Request -> Maybe u -> r) -> VerbListenerT r u m ()
- delete :: Monad m => r -> VerbListenerT r u m ()
- deleteReq :: Monad m => (Request -> r) -> VerbListenerT r u m ()
Documentation
type HandleUpload m u = Request -> m (Maybe u) Source
type ResponseSpec u m r = (HandleUpload m u, Respond u r) Source
Verb Map
Verbs | |
|
supplyReq :: Request -> Map Verb (ResponseSpec u m r) -> Map Verb (m (Maybe u), Maybe u -> r) Source
To compensate for responses that want to peek into the Request
object.
Verb Writer
newtype VerbListenerT r u m a Source
VerbListenerT | |
|
Monad m => MonadWriter (Union (Verbs u m r)) (VerbListenerT r u m) Source | |
MonadTrans (VerbListenerT r u) Source | |
Monad m => Monad (VerbListenerT r u m) Source | |
Functor m => Functor (VerbListenerT r u m) Source | |
Applicative m => Applicative (VerbListenerT r u m) Source | |
MonadIO m => MonadIO (VerbListenerT r u m) Source |
execVerbListenerT :: Monad m => VerbListenerT r u m a -> m (Verbs u m r) Source
get :: Monad m => r -> VerbListenerT r u m () Source
For simple GET
responses
getReq :: Monad m => (Request -> r) -> VerbListenerT r u m () Source
Inspect the Request
object supplied by WAI
post :: (Monad m, MonadIO m) => HandleUpload m u -> (Maybe u -> r) -> VerbListenerT r u m () Source
For simple POST
responses
postReq :: (Monad m, MonadIO m) => HandleUpload m u -> (Request -> Maybe u -> r) -> VerbListenerT r u m () Source
Inspect the Request
object supplied by WAI
put :: (Monad m, MonadIO m) => HandleUpload m u -> (Maybe u -> r) -> VerbListenerT r u m () Source
For simple PUT
responses
putReq :: (Monad m, MonadIO m) => HandleUpload m u -> (Request -> Maybe u -> r) -> VerbListenerT r u m () Source
Inspect the Request
object supplied by WAI
delete :: Monad m => r -> VerbListenerT r u m () Source
For simple DELETE
responses
deleteReq :: Monad m => (Request -> r) -> VerbListenerT r u m () Source
Inspect the Request
object supplied by WAI