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