wai-extra 3.0.2.2 → 3.0.3
raw patch · 4 files changed
+40/−1 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Network.Wai.Middleware.AddHeaders: addHeaders :: [(ByteString, ByteString)] -> Middleware
Files
- ChangeLog.md +3/−0
- Network/Wai/Middleware/AddHeaders.hs +30/−0
- README.md +3/−0
- wai-extra.cabal +4/−1
+ ChangeLog.md view
@@ -0,0 +1,3 @@+## 3.0.3++Add the `AddHeaders` middleware.
+ Network/Wai/Middleware/AddHeaders.hs view
@@ -0,0 +1,30 @@+-- |+--+-- Since 3.0.3+module Network.Wai.Middleware.AddHeaders+ ( addHeaders+ ) where++import Network.HTTP.Types (ResponseHeaders, Header)+import Network.Wai (Middleware)+import Network.Wai.Internal (Response(..))+import Data.ByteString (ByteString)++import qualified Data.CaseInsensitive as CI+import Control.Arrow (first)++addHeaders :: [(ByteString, ByteString)] -> Middleware+-- ^ Prepend a list of headers without any checks+--+-- Since 3.0.3++addHeaders h app req respond = app req $ respond . addHeaders' (map (first CI.mk) h)++mapHeader :: (ResponseHeaders -> ResponseHeaders) -> Response -> Response+mapHeader f (ResponseFile s h b1 b2) = ResponseFile s (f h) b1 b2+mapHeader f (ResponseBuilder s h b) = ResponseBuilder s (f h) b+mapHeader f (ResponseStream s h b) = ResponseStream s (f h) b+mapHeader _ r@(ResponseRaw _ _) = r++addHeaders' :: [Header] -> Response -> Response+addHeaders' h = mapHeader (\hs -> h ++ hs)
+ README.md view
@@ -0,0 +1,3 @@+## wai-extra++The goal here is to provide common features without many dependencies.
wai-extra.cabal view
@@ -1,5 +1,5 @@ Name: wai-extra-Version: 3.0.2.2+Version: 3.0.3 Synopsis: Provides some basic WAI handlers and middleware. Description: The goal here is to provide common features without many dependencies. License: MIT@@ -16,6 +16,8 @@ test/json test/test.html test/sample.hs+ ChangeLog.md+ README.md Library Build-Depends: base >= 4 && < 5@@ -52,6 +54,7 @@ Exposed-modules: Network.Wai.Handler.CGI Network.Wai.Handler.SCGI Network.Wai.Middleware.AcceptOverride+ Network.Wai.Middleware.AddHeaders Network.Wai.Middleware.Autohead Network.Wai.Middleware.CleanPath Network.Wai.Middleware.Local