Safe Haskell | None |
---|---|
Language | Haskell2010 |
Public Module
Synopsis
- data WaiCtx = WaiCtx {}
- type MonadWai c m = (MonadIO m, MonadReader c m, HasWaiCtx c)
- class HasWaiCtx c where
- type MonadApplication m = Request -> Respond -> m ResponseReceived
- type Respond = Response -> IO ResponseReceived
- flushBuilder :: Monad m => ConduitT ByteString (Flush Builder) m ()
- requestHeader :: HeaderName -> Request -> Maybe ByteString
- requestQuery :: ByteString -> Request -> Maybe ByteString
- warp :: (MonadBaseControl IO m, StM m ResponseReceived ~ ResponseReceived) => Settings -> MonadApplication m -> m ()
- warpCors :: (MonadBaseControl IO m, StM m ResponseReceived ~ ResponseReceived) => Settings -> CorsResourcePolicy -> MonadApplication m -> m ()
- route :: (MonadWai c m, Eq a) => (Request -> a) -> m ResponseReceived -> [(a, m ResponseReceived)] -> m ResponseReceived
- routeMethod :: MonadWai c m => m ResponseReceived -> [(Method, m ResponseReceived)] -> m ResponseReceived
- routePath :: MonadWai c m => m ResponseReceived -> [(ByteString, m ResponseReceived)] -> m ResponseReceived
- raceResponse :: MonadBaseControl IO m => m ResponseReceived -> m ResponseReceived -> m ResponseReceived
- answer :: MonadWai c m => Response -> m ResponseReceived
- answerStatus :: MonadWai c m => Status -> ResponseHeaders -> m ResponseReceived
- answerSource :: MonadWai c m => Status -> ResponseHeaders -> ConduitT () (Flush Builder) IO () -> m ResponseReceived
- answerJson :: (MonadWai c m, ToJSON a) => Status -> ResponseHeaders -> a -> m ResponseReceived
- withHeader :: MonadWai c m => HeaderName -> (HeaderName -> m ResponseReceived) -> (ByteString -> m ResponseReceived) -> m ResponseReceived
Documentation
WaiCtx
Context containing WAI application.
WaiCtx | |
|
type MonadApplication m = Request -> Respond -> m ResponseReceived Source #
MonadApplication
flushBuilder :: Monad m => ConduitT ByteString (Flush Builder) m () Source #
A Conduit for converting a ByteString to a Flush Builder.
requestHeader :: HeaderName -> Request -> Maybe ByteString Source #
Lookup a request header.
requestQuery :: ByteString -> Request -> Maybe ByteString Source #
Look up a query parameter.
warp :: (MonadBaseControl IO m, StM m ResponseReceived ~ ResponseReceived) => Settings -> MonadApplication m -> m () Source #
Run warp with lifted type.
warpCors :: (MonadBaseControl IO m, StM m ResponseReceived ~ ResponseReceived) => Settings -> CorsResourcePolicy -> MonadApplication m -> m () Source #
Run warp with lifted type.
route :: (MonadWai c m, Eq a) => (Request -> a) -> m ResponseReceived -> [(a, m ResponseReceived)] -> m ResponseReceived Source #
General purpose router on requests.
routeMethod :: MonadWai c m => m ResponseReceived -> [(Method, m ResponseReceived)] -> m ResponseReceived Source #
Route methods
routePath :: MonadWai c m => m ResponseReceived -> [(ByteString, m ResponseReceived)] -> m ResponseReceived Source #
Route paths.
raceResponse :: MonadBaseControl IO m => m ResponseReceived -> m ResponseReceived -> m ResponseReceived Source #
Race between source and response - return whoever finishes first.
answerStatus :: MonadWai c m => Status -> ResponseHeaders -> m ResponseReceived Source #
Status response.
answerSource :: MonadWai c m => Status -> ResponseHeaders -> ConduitT () (Flush Builder) IO () -> m ResponseReceived Source #
Stream response.
answerJson :: (MonadWai c m, ToJSON a) => Status -> ResponseHeaders -> a -> m ResponseReceived Source #
JSON response.
withHeader :: MonadWai c m => HeaderName -> (HeaderName -> m ResponseReceived) -> (ByteString -> m ResponseReceived) -> m ResponseReceived Source #
Lookup header.