wai-middleware-content-type 0.6.2 → 0.7.0
raw patch · 13 files changed
+45/−45 lines, 13 filesdep ~monad-control-aligneddep ~urlpath
Dependency ranges changed: monad-control-aligned, urlpath
Files
- README.md +1/−1
- src/Network/Wai/Middleware/ContentType.hs +1/−1
- src/Network/Wai/Middleware/ContentType/Blaze.hs +1/−1
- src/Network/Wai/Middleware/ContentType/ByteString.hs +2/−3
- src/Network/Wai/Middleware/ContentType/Cassius.hs +1/−1
- src/Network/Wai/Middleware/ContentType/Clay.hs +1/−1
- src/Network/Wai/Middleware/ContentType/Json.hs +2/−2
- src/Network/Wai/Middleware/ContentType/Julius.hs +1/−1
- src/Network/Wai/Middleware/ContentType/Lucid.hs +1/−1
- src/Network/Wai/Middleware/ContentType/Lucius.hs +1/−1
- src/Network/Wai/Middleware/ContentType/Text.hs +1/−1
- src/Network/Wai/Middleware/ContentType/Types.hs +23/−22
- wai-middleware-content-type.cabal +9/−9
README.md view
@@ -21,7 +21,7 @@ myMiddleware :: MiddlewareT (ReaderT Env m) contentTypeRoutes :: Monad m =>- FileExtListenerT (Status -> ResponseHeaders -> Response) m ()+ FileExtListenerT urlbase (Status -> ResponseHeaders -> Response) m () contentTypeRoutes = do blaze myBlazeResponse cassius myCassiusResponse
src/Network/Wai/Middleware/ContentType.hs view
@@ -74,7 +74,7 @@ fileExtsToMiddleware :: MonadBaseControl IO m stM => Extractable stM- => FileExtListenerT m a+ => FileExtListenerT urlbase m a -> MiddlewareT m fileExtsToMiddleware xs app req respond = liftBaseWith $ \runInBase -> withStdoutLogger $ \aplogger -> fmap runSingleton $ runInBase $ do
src/Network/Wai/Middleware/ContentType/Blaze.hs view
@@ -17,7 +17,7 @@ blaze :: Monad m => H.Html- -> FileExtListenerT m ()+ -> FileExtListenerT urlbase m () blaze i = tell' $ HM.singleton Html $ ResponseVia
src/Network/Wai/Middleware/ContentType/ByteString.hs view
@@ -11,13 +11,12 @@ -- * Lifted Combinators -bytestring :: MonadIO m =>+bytestring :: Monad m => FileExt -> LBS.ByteString- -> FileExtListenerT m ()+ -> FileExtListenerT urlbase m () bytestring fe i = do aplogger <- getLogger- liftIO $ aplogger status200 (Just $ fromIntegral $ LBS.length i) tell' $ HM.singleton fe $ ResponseVia i
src/Network/Wai/Middleware/ContentType/Cassius.hs view
@@ -18,7 +18,7 @@ cassius :: Monad m => Css- -> FileExtListenerT m ()+ -> FileExtListenerT urlbase m () cassius i = tell' $ HM.singleton CT.Css $ ResponseVia
src/Network/Wai/Middleware/ContentType/Clay.hs view
@@ -19,7 +19,7 @@ clay :: Monad m => Config -> [App] -> Css- -> FileExtListenerT m ()+ -> FileExtListenerT urlbase m () clay c as i = tell' $ HM.singleton CT.Css $ ResponseVia
src/Network/Wai/Middleware/ContentType/Json.hs view
@@ -17,9 +17,9 @@ -- * Lifted Combinators json :: ( A.ToJSON j- , MonadIO m+ , Monad m ) => j- -> FileExtListenerT m ()+ -> FileExtListenerT urlbase m () json = overFileExts [Json] (mapHeaders (("Content-Type","application/json"):)) . bytestring Json . A.encode
src/Network/Wai/Middleware/ContentType/Julius.hs view
@@ -18,7 +18,7 @@ julius :: Monad m => Javascript- -> FileExtListenerT m ()+ -> FileExtListenerT urlbase m () julius i = tell' $ HM.singleton CT.JavaScript $ ResponseVia
src/Network/Wai/Middleware/ContentType/Lucid.hs view
@@ -17,7 +17,7 @@ lucid :: Monad m => L.HtmlT m ()- -> FileExtListenerT m ()+ -> FileExtListenerT urlbase m () lucid i = do f <- lift (lucidOnly i) tell' $ HM.singleton Html $
src/Network/Wai/Middleware/ContentType/Lucius.hs view
@@ -18,7 +18,7 @@ lucius :: Monad m => Css- -> FileExtListenerT m ()+ -> FileExtListenerT urlbase m () lucius i = tell' $ HM.singleton CT.Css $ ResponseVia
src/Network/Wai/Middleware/ContentType/Text.hs view
@@ -17,7 +17,7 @@ text :: Monad m => LT.Text- -> FileExtListenerT m ()+ -> FileExtListenerT urlbase m () text i = tell' $ HM.singleton Text $ ResponseVia
src/Network/Wai/Middleware/ContentType/Types.hs view
@@ -151,8 +151,8 @@ overFileExts :: Monad m => [FileExt] -> (ResponseVia -> ResponseVia)- -> FileExtListenerT m a- -> FileExtListenerT m a+ -> FileExtListenerT urlbase m a+ -> FileExtListenerT urlbase m a overFileExts fs f (FileExtListenerT (ReaderT xs)) = do aplogger <- getLogger i <- get@@ -166,24 +166,24 @@ -- | The monad for our DSL - when using the combinators, our result will be this -- type: ----- > myListener :: FileExtListenerT (MiddlewareT m) m ()+-- > myListener :: FileExtListenerT base (MiddlewareT m) m () -- > myListener = do -- > text "Text!" -- > json ("Json!" :: T.Text)-newtype FileExtListenerT m a = FileExtListenerT+newtype FileExtListenerT urlbase m a = FileExtListenerT { runFileExtListenerT :: ReaderT (Status -> Maybe Integer -> IO ()) (StateT FileExtMap m) a } deriving ( Functor, Applicative, Alternative, Monad, MonadFix, MonadPlus, MonadIO , MonadWriter w, MonadState FileExtMap , MonadCont, MonadError e, MonadBase b, MonadThrow, MonadCatch- , MonadMask, MonadLogger, MonadUrl+ , MonadMask, MonadLogger, MonadUrl urlbase ) -getLogger :: Monad m => FileExtListenerT m (Status -> Maybe Integer -> IO ())+getLogger :: Monad m => FileExtListenerT urlbase m (Status -> Maybe Integer -> IO ()) getLogger = FileExtListenerT (ReaderT pure) -instance Aligned.MonadTransControl FileExtListenerT ((,) FileExtMap) where+instance Aligned.MonadTransControl (FileExtListenerT urlbase) ((,) FileExtMap) where liftWith client = FileExtListenerT $ ReaderT $ \env -> StateT $ \s ->- let run :: forall m a. Monad m => FileExtListenerT m a -> m (FileExtMap, a)+ let run :: forall urlbase m a. Monad m => FileExtListenerT urlbase m a -> m (FileExtMap, a) run (FileExtListenerT (ReaderT f)) = let (StateT g) = f env in do (x, s') <- g s@@ -195,40 +195,41 @@ pure (x,s') instance ( Aligned.MonadBaseControl b m stM- ) => Aligned.MonadBaseControl b (FileExtListenerT m) (Compose stM ((,) FileExtMap)) where+ ) => Aligned.MonadBaseControl b+ (FileExtListenerT urlbase m) (Compose stM ((,) FileExtMap)) where liftBaseWith = Aligned.defaultLiftBaseWith restoreM = Aligned.defaultRestoreM -instance MonadTrans FileExtListenerT where+instance MonadTrans (FileExtListenerT urlbase) where lift m = FileExtListenerT (ReaderT (\_ -> lift m)) -instance MonadReader r m => MonadReader r (FileExtListenerT m) where+instance MonadReader r m => MonadReader r (FileExtListenerT urlbase m) where ask = FileExtListenerT (ReaderT (const ask)) local f (FileExtListenerT (ReaderT g)) = FileExtListenerT $ ReaderT $ \x -> local f (g x) -instance Monad m => Semigroup (FileExtListenerT m ()) where+instance Monad m => Semigroup (FileExtListenerT urlbase m ()) where x <> y = x >> y -instance Monad m => Monoid (FileExtListenerT m ()) where+instance Monad m => Monoid (FileExtListenerT urlbase m ()) where mempty = FileExtListenerT (put mempty) -deriving instance (MonadResource m, MonadBase IO m) => MonadResource (FileExtListenerT m)+deriving instance (MonadResource m, MonadBase IO m) => MonadResource (FileExtListenerT urlbase m) -instance MonadTransControl FileExtListenerT where- type StT FileExtListenerT a = StT (StateT FileExtMap)+instance MonadTransControl (FileExtListenerT urlbase) where+ type StT (FileExtListenerT urlbase) a = StT (StateT FileExtMap) (StT (ReaderT (Status -> Maybe Integer -> IO ())) a) liftWith f = FileExtListenerT $ ReaderT $ \aplogger -> liftWith $ \runInBase -> f (\(FileExtListenerT (ReaderT xs)) -> runInBase (xs aplogger)) restoreT x = FileExtListenerT $ ReaderT $ \_ -> restoreT x instance ( MonadBaseControl b m- ) => MonadBaseControl b (FileExtListenerT m) where- type StM (FileExtListenerT m) a = ComposeSt FileExtListenerT m a+ ) => MonadBaseControl b (FileExtListenerT urlbase m) where+ type StM (FileExtListenerT urlbase m) a = ComposeSt (FileExtListenerT urlbase) m a liftBaseWith = defaultLiftBaseWith restoreM = defaultRestoreM execFileExtListenerT :: Monad m- => FileExtListenerT m a+ => FileExtListenerT urlbase m a -> Maybe (Status -> Maybe Integer -> IO ()) -> m FileExtMap execFileExtListenerT xs mL =@@ -239,8 +240,8 @@ mapFileExtMap :: ( Monad m ) => (FileExtMap -> FileExtMap)- -> FileExtListenerT m a- -> FileExtListenerT m a+ -> FileExtListenerT urlbase m a+ -> FileExtListenerT urlbase m a mapFileExtMap f (FileExtListenerT xs) = do aplogger <- getLogger m <- get@@ -297,7 +298,7 @@ -- > myApp = do -- > text "foo" -- > invalidEncoding myErrorHandler -- handles all except text/plain-invalidEncoding :: Monad m => ResponseVia -> FileExtListenerT m ()+invalidEncoding :: Monad m => ResponseVia -> FileExtListenerT urlbase m () invalidEncoding r = mapM_ (\t -> tell' (HM.singleton t r)) [Html,Css,JavaScript,Json,Text,Markdown] {-# INLINEABLE invalidEncoding #-}
wai-middleware-content-type.cabal view
@@ -1,21 +1,21 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.31.0.+-- This file has been generated from package.yaml by hpack version 0.35.2. -- -- see: https://github.com/sol/hpack ----- hash: 74380c70941c771873442f9110c7bc835e54ac9846659dc4fc1293931846853c+-- hash: a42d121b620f40447b4d6fef1cbd8eb612b28a5d3aafa4254bbb1147719ce1ec name: wai-middleware-content-type-version: 0.6.2+version: 0.7.0 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>+description: Please see the README on Github at <https://github.com/athanclark/wai-middleware-content-type#readme> category: Web homepage: https://github.com/athanclark/wai-middleware-content-type#readme bug-reports: https://github.com/athanclark/wai-middleware-content-type/issues author: Athan Clark-maintainer: athan.clark@localcooking.com-copyright: 2018 Athan Clark+maintainer: athan.clark@gmail.com+copyright: Copyright (c) 2023 Athan Clark license: BSD3 license-file: LICENSE build-type: Simple@@ -59,7 +59,7 @@ , lucid , mmorph , monad-control- , monad-control-aligned+ , monad-control-aligned >=0.0.2 , monad-logger , mtl , resourcet@@ -68,7 +68,7 @@ , transformers , transformers-base , unordered-containers- , urlpath >=9.0.1+ , urlpath >=11.0.0 , wai >=3.2 , wai-logger , wai-transformers >=0.1.0@@ -100,7 +100,7 @@ , lucid , mmorph , monad-control- , monad-control-aligned+ , monad-control-aligned >=0.0.2 , monad-logger , mtl , resourcet