packages feed

wai-transformers 0.0.3 → 0.0.4

raw patch · 3 files changed

+26/−4 lines, 3 filesdep +exceptionsdep ~basesetup-changed

Dependencies added: exceptions

Dependency ranges changed: base

Files

+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
src/Network/Wai/Trans.hs view
@@ -19,19 +19,24 @@   module Network.Wai.Trans-  ( module X+  ( -- * Types+    module Network.Wai   , ApplicationT   , MiddlewareT   , liftApplication   , liftMiddleware   , runApplicationT   , runMiddlewareT+  , -- * Exception catching+    catchApplicationT+  , catchMiddlewareT   ) where  -import           Network.Wai as X+import           Network.Wai  import           Control.Monad.IO.Class+import           Control.Monad.Catch  -- | Isomorphic to @Kleisli (ContT ResponseReceived m) Request Response@ type ApplicationT m = Request -> (Response -> m ResponseReceived) -> m ResponseReceived@@ -49,4 +54,18 @@  runMiddlewareT :: MonadIO m => (forall a. m a -> IO a) -> MiddlewareT m -> Middleware runMiddlewareT run mid app = runApplicationT run (mid (liftApplication run app))+++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+                    , Exception e+                    ) => MiddlewareT m -> (e -> MiddlewareT m) -> MiddlewareT m+catchMiddlewareT x f app =+  (x app) `catchApplicationT` (\e -> f e app) 
wai-transformers.cabal view
@@ -1,5 +1,5 @@ Name:                   wai-transformers-Version:                0.0.3+Version:                0.0.4 Author:                 Athan Clark <athan.clark@gmail.com> Maintainer:             Athan Clark <athan.clark@gmail.com> License:                BSD3@@ -15,7 +15,8 @@   HS-Source-Dirs:       src   GHC-Options:          -Wall   Exposed-Modules:      Network.Wai.Trans-  Build-Depends:        base >= 4.6 && < 5+  Build-Depends:        base >= 4.8 && < 5+                      , exceptions                       , wai                       , transformers