packages feed

wai-middleware-content-type 0.6.1 → 0.6.1.1

raw patch · 2 files changed

+24/−3 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Network.Wai.Middleware.ContentType.Types: instance Control.Monad.Trans.Control.Aligned.MonadBaseControl b m stM => Control.Monad.Trans.Control.Aligned.MonadBaseControl b (Network.Wai.Middleware.ContentType.Types.FileExtListenerT m) (Data.Functor.Compose.Compose stM ((,) Network.Wai.Middleware.ContentType.Types.FileExtMap))
+ Network.Wai.Middleware.ContentType.Types: instance Control.Monad.Trans.Control.Aligned.MonadTransControl Network.Wai.Middleware.ContentType.Types.FileExtListenerT ((,) Network.Wai.Middleware.ContentType.Types.FileExtMap)

Files

src/Network/Wai/Middleware/ContentType/Types.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE-    TypeFamilies+    Rank2Types+  , TypeFamilies   , DeriveFunctor   , DeriveGeneric   , FlexibleContexts@@ -52,6 +53,7 @@ import           Data.Url (MonadUrl) import           Data.Hashable (Hashable) import qualified Data.ByteString        as BS+import           Data.Functor.Compose (Compose) import           Control.Monad (MonadPlus) import           Control.Applicative (Alternative) import           Control.Monad.Fix (MonadFix)@@ -62,6 +64,7 @@ import           Control.Monad.Cont (MonadCont) import           Control.Monad.Except (MonadError) import           Control.Monad.Trans.Control (MonadTransControl (..), MonadBaseControl (..), ComposeSt, defaultRestoreM, defaultLiftBaseWith)+import qualified Control.Monad.Trans.Control.Aligned as Aligned import           Control.Monad.Trans.Resource (MonadResource) import           Control.Monad.State (StateT (..), MonadState, get, put, execStateT, modify') import           Control.Monad.Writer (MonadWriter)@@ -176,6 +179,24 @@  getLogger :: Monad m => FileExtListenerT m (Status -> Maybe Integer -> IO ()) getLogger = FileExtListenerT (ReaderT pure)++instance Aligned.MonadTransControl FileExtListenerT ((,) FileExtMap) where+  liftWith client = FileExtListenerT $ ReaderT $ \env -> StateT $ \s ->+    let run :: forall m a. Monad m => FileExtListenerT m a -> m (FileExtMap, a)+        run (FileExtListenerT (ReaderT f)) =+          let (StateT g) = f env+          in  do (x, s') <- g s+                 pure (s', x)+    in  do x <- client run+           pure (x, s)+  restoreT mx = FileExtListenerT $ ReaderT $ \_ -> StateT $ \_ -> do+    (s',x) <- mx+    pure (x,s')++instance ( Aligned.MonadBaseControl b m stM+         ) => Aligned.MonadBaseControl b (FileExtListenerT m) (Compose stM ((,) FileExtMap)) where+  liftBaseWith = Aligned.defaultLiftBaseWith+  restoreM = Aligned.defaultRestoreM  instance MonadTrans FileExtListenerT where   lift m = FileExtListenerT (ReaderT (\_ -> lift m))
wai-middleware-content-type.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: f497bfc449fb4f1433a5f05220106caabf2e30185da00ecd30075efef2dfa54d+-- hash: fed743c9d2b0d613f04ead0d53fa3b28ca25f57b5f76f0edcb6943fe4d73f922  name:           wai-middleware-content-type-version:        0.6.1+version:        0.6.1.1 synopsis:       Route to different middlewares based on the incoming Accept header. description:    Please see the README on Github at <https://git.localcooking.com/tooling/wai-middleware-content-type#readme> category:       Web