packages feed

wai-transformers 0.0.4 → 0.0.5

raw patch · 2 files changed

+28/−3 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Network.Wai.Trans: hoistApplicationT :: (Monad m, Monad n) => (forall a. m a -> n a) -> (forall a. n a -> m a) -> ApplicationT m -> ApplicationT n
+ Network.Wai.Trans: hoistMiddlewareT :: (Monad m, Monad n) => (forall a. m a -> n a) -> (forall a. n a -> m a) -> MiddlewareT m -> MiddlewareT n
+ Network.Wai.Trans: readingRequest :: Monad m => (Request -> m ()) -> MiddlewareT m
- Network.Wai.Trans: catchMiddlewareT :: (MonadIO m, MonadCatch m, Exception e) => MiddlewareT m -> (e -> MiddlewareT m) -> MiddlewareT m
+ Network.Wai.Trans: catchMiddlewareT :: (MonadCatch m, Exception e) => MiddlewareT m -> (e -> MiddlewareT m) -> MiddlewareT m

Files

src/Network/Wai/Trans.hs view
@@ -27,9 +27,13 @@   , liftMiddleware   , runApplicationT   , runMiddlewareT+  , hoistApplicationT+  , hoistMiddlewareT   , -- * Exception catching     catchApplicationT   , catchMiddlewareT+  , -- * General Purpose+    readingRequest   ) where  @@ -55,17 +59,38 @@ runMiddlewareT :: MonadIO m => (forall a. m a -> IO a) -> MiddlewareT m -> Middleware runMiddlewareT run mid app = runApplicationT run (mid (liftApplication run app)) +hoistApplicationT :: ( Monad m+                     , Monad n+                     ) => (forall a. m a -> n a)+                       -> (forall a. n a -> m a)+                       -> ApplicationT m+                       -> ApplicationT n+hoistApplicationT to from app req resp =+  to $ app req (from . resp) +hoistMiddlewareT :: ( Monad m+                    , Monad n+                    ) => (forall a. m a -> n a)+                      -> (forall a. n a -> m a)+                      -> MiddlewareT m+                      -> MiddlewareT n+hoistMiddlewareT to from mid =+  hoistApplicationT to from . mid . hoistApplicationT from to++ catchApplicationT :: ( MonadCatch m                      , Exception e                      ) => ApplicationT m -> (e -> ApplicationT m) -> ApplicationT m catchApplicationT x f req respond =   (x req respond) `catch` (\e -> f e req respond) -catchMiddlewareT :: ( MonadIO m-                    , MonadCatch m+catchMiddlewareT :: ( MonadCatch m                     , Exception e                     ) => MiddlewareT m -> (e -> MiddlewareT m) -> MiddlewareT m catchMiddlewareT x f app =   (x app) `catchApplicationT` (\e -> f e app) +readingRequest :: Monad m => (Request -> m ()) -> MiddlewareT m+readingRequest f app req resp = do+  f req+  app req resp
wai-transformers.cabal view
@@ -1,5 +1,5 @@ Name:                   wai-transformers-Version:                0.0.4+Version:                0.0.5 Author:                 Athan Clark <athan.clark@gmail.com> Maintainer:             Athan Clark <athan.clark@gmail.com> License:                BSD3