wai-transformers 0.0.6 → 0.0.7
raw patch · 2 files changed
+29/−1 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Network.Wai.Trans: inApplicationT :: Monad m => m a -> ApplicationT m -> ApplicationT m
+ Network.Wai.Trans: inMiddlewareT :: Monad m => m a -> MiddlewareT m -> MiddlewareT m
+ Network.Wai.Trans: liftClientApp :: (MonadIO m) => ClientApp a -> ClientAppT m a
+ Network.Wai.Trans: liftServerApp :: (MonadIO m) => ServerApp -> ServerAppT m
+ Network.Wai.Trans: runClientAppT :: (forall a. m a -> IO a) -> ClientAppT m a -> ClientApp a
+ Network.Wai.Trans: runServerAppT :: (forall a. m a -> IO a) -> ServerAppT m -> ServerApp
+ Network.Wai.Trans: type ClientAppT m a = Connection -> m a
Files
- src/Network/Wai/Trans.hs +28/−0
- wai-transformers.cabal +1/−1
src/Network/Wai/Trans.hs view
@@ -31,6 +31,8 @@ , runMiddlewareT , hoistApplicationT , hoistMiddlewareT+ , inApplicationT+ , inMiddlewareT , -- ** Exception catching catchApplicationT , catchMiddlewareT@@ -38,6 +40,11 @@ readingRequest , -- * Websockets ServerAppT+ , liftServerApp+ , runServerAppT+ , ClientAppT+ , liftClientApp+ , runClientAppT , websocketsOrT ) where @@ -70,6 +77,12 @@ runMiddlewareT :: MonadIO m => (forall a. m a -> IO a) -> MiddlewareT m -> Middleware runMiddlewareT run mid app = runApplicationT run (mid (liftApplication run app)) +inApplicationT :: Monad m => m a -> ApplicationT m -> ApplicationT m+inApplicationT x app req resp = x >> app req resp++inMiddlewareT :: Monad m => m a -> MiddlewareT m -> MiddlewareT m+inMiddlewareT x mid = mid . inApplicationT x+ -- ** Monad Morphisms hoistApplicationT :: ( Monad m@@ -115,6 +128,21 @@ -- * Websockets type ServerAppT m = PendingConnection -> m ()++liftServerApp :: (MonadIO m) => ServerApp -> ServerAppT m+liftServerApp s = liftIO . s++runServerAppT :: (forall a. m a -> IO a) -> ServerAppT m -> ServerApp+runServerAppT run s = run . s++type ClientAppT m a = Connection -> m a++liftClientApp :: (MonadIO m) => ClientApp a -> ClientAppT m a+liftClientApp c = liftIO . c++runClientAppT :: (forall a. m a -> IO a) -> ClientAppT m a -> ClientApp a+runClientAppT run c = run . c+ -- | Respond with the WebSocket server when applicable, as a middleware websocketsOrT :: (MonadIO m) => (forall a. m a -> IO a) -> ConnectionOptions -> ServerAppT m -> MiddlewareT m
wai-transformers.cabal view
@@ -1,5 +1,5 @@ Name: wai-transformers-Version: 0.0.6+Version: 0.0.7 Author: Athan Clark <athan.clark@gmail.com> Maintainer: Athan Clark <athan.clark@gmail.com> License: BSD3