packages feed

wai-transformers 0.0.5 → 0.0.5.1

raw patch · 2 files changed

+26/−1 lines, 2 filesdep +wai-websocketsdep +websocketsPVP ok

version bump matches the API change (PVP)

Dependencies added: wai-websockets, websockets

API changes (from Hackage documentation)

Files

src/Network/Wai/Trans.hs view
@@ -38,14 +38,20 @@   import           Network.Wai+import           Network.Wai.Handler.WebSockets+import           Network.WebSockets hiding (Request, Response)  import           Control.Monad.IO.Class import           Control.Monad.Catch ++-- * WAI+ -- | Isomorphic to @Kleisli (ContT ResponseReceived m) Request Response@ type ApplicationT m = Request -> (Response -> m ResponseReceived) -> m ResponseReceived type MiddlewareT m = ApplicationT m -> ApplicationT m +-- ** Generalization  liftApplication :: MonadIO m => (forall a. m a -> IO a) -> Application -> ApplicationT m liftApplication run app req resp = liftIO (app req (run . resp))@@ -59,6 +65,8 @@ runMiddlewareT :: MonadIO m => (forall a. m a -> IO a) -> MiddlewareT m -> Middleware runMiddlewareT run mid app = runApplicationT run (mid (liftApplication run app)) +-- ** Monad Morphisms+ hoistApplicationT :: ( Monad m                      , Monad n                      ) => (forall a. m a -> n a)@@ -77,6 +85,7 @@ hoistMiddlewareT to from mid =   hoistApplicationT to from . mid . hoistApplicationT from to +-- ** Exception Catching  catchApplicationT :: ( MonadCatch m                      , Exception e@@ -90,7 +99,21 @@ catchMiddlewareT x f app =   (x app) `catchApplicationT` (\e -> f e app) +-- ** Utils+ readingRequest :: Monad m => (Request -> m ()) -> MiddlewareT m readingRequest f app req resp = do   f req   app req resp+++-- * Websockets++type ServerAppT m = PendingConnection -> m ()++-- | Respond with the WebSocket server when applicable, as a middleware+websocketsOrT :: (MonadIO m) => (forall a. m a -> IO a) -> ConnectionOptions -> ServerAppT m -> MiddlewareT m+websocketsOrT run cOpts server app req respond =+  let server' pend = run $ server pend+      app' = liftApplication run . websocketsOr cOpts server' $ runApplicationT run app+  in  app' req respond
wai-transformers.cabal view
@@ -1,5 +1,5 @@ Name:                   wai-transformers-Version:                0.0.5+Version:                0.0.5.1 Author:                 Athan Clark <athan.clark@gmail.com> Maintainer:             Athan Clark <athan.clark@gmail.com> License:                BSD3@@ -18,7 +18,9 @@   Build-Depends:        base >= 4.8 && < 5                       , exceptions                       , wai+                      , wai-websockets                       , transformers+                      , websockets  Source-Repository head   Type:                 git