wai-middleware-verbs-0.0.2: Route different middleware responses based on the incoming HTTP verb.

Safe HaskellNone
LanguageHaskell2010

Network.Wai.Middleware.Verbs

Synopsis

Documentation

newtype Verbs u m r Source

Constructors

Verbs 

Fields

unVerbs :: Map Verb (ResponseSpec u m r)
 

Instances

Functor (Verbs u m) Source 
Monoid (Verbs u m r) Source 
Monad m => MonadState (Verbs u m r) (VerbListenerT r u m) Source 

type Verb = StdMethod Source

getVerb :: Request -> Verb Source

type HandleUpload m u = Request -> m (Maybe u) Source

type Respond u r = Request -> Maybe u -> r Source

type ResponseSpec u m r = (HandleUpload m u, Respond u r) Source

supplyReq :: Request -> Map Verb (ResponseSpec u m r) -> Map Verb (m (Maybe u), Maybe u -> r) Source

lookupVerb :: Verb -> Request -> Verbs u m r -> Maybe (m (Maybe u), Maybe u -> r) Source

Take a verb map and a request, and return the lookup after providing the request (for upload cases).

lookupVerbM :: Monad m => Verb -> Request -> Verbs u m r -> m (Maybe r) Source

newtype VerbListenerT r u m a Source

Constructors

VerbListenerT 

Fields

runVerbListenerT :: StateT (Verbs u m r) m a
 

Instances

execVerbListenerT :: Monad m => VerbListenerT r u m a -> m (Verbs u m r) Source

verbsToMiddleware :: MonadIO m => VerbListenerT (MiddlewareT m) u m () -> MiddlewareT m 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