on master help sign in
Support streaming-commons 0.2
commitc8d0e67394ffad10a56b87ee2e0b8d473a033356 authorMichael Snoyman <michael@snoyman.com> dateWed 10 Jan 2018, 06:49 (9 years ago) parenta8abae4
7 files changed+32−5
wai-extra/ChangeLog.md+4 wai-extra/Network/Wai/Handler/CGI.hs+10 wai-extra/Network/Wai/Middleware/Gzip.hs+10−1 wai-extra/wai-extra.cabal+1−1 warp/ChangeLog.md+4 warp/Network/Wai/Handler/Warp/Response.hs+2−2 warp/warp.cabal+1−1
wai-extra/ChangeLog.md+4
@@ -1,3 +1,7 @@
1+## 3.0.22.0
2+
3+* Support for streaming-commons 0.2
4+
15## 3.0.21.0
26
37* Export `Network.Wai.Parse.noLimitParseRequestBodyOptions` [#662](https://github.com/yesodweb/wai/pull/662).
wai-extra/Network/Wai/Handler/CGI.hs+10
@@ -29,7 +29,13 @@ import qualified Data.CaseInsensitive as CI
2929#if __GLASGOW_HASKELL__ < 710
3030import Data.Monoid (mconcat, mempty, mappend)
3131#endif
32+
33+#if MIN_VERSION_streaming_commons(0, 2, 0)
34+import qualified Data.Streaming.ByteString.Builder as Blaze
35+#else
3236import qualified Data.Streaming.Blaze as Blaze
37+#endif
38+
3339import Data.Function (fix)
3440import Control.Monad (unless, void)
3541
@@ -130,7 +136,11 @@ runGeneric vars inputH outputH xsendfile app = do
130136 return ResponseReceived
131137 _ -> do
132138 let (s, hs, wb) = responseToStream res
139+#if MIN_VERSION_streaming_commons(0, 2, 0)
140+ (blazeRecv, blazeFinish) <- Blaze.newBuilderRecv Blaze.defaultStrategy
141+#else
133142 (blazeRecv, blazeFinish) <- Blaze.newBlazeRecv Blaze.defaultStrategy
143+#endif
134144 wb $ \b -> do
135145 let sendBuilder builder = do
136146 popper <- blazeRecv builder
wai-extra/Network/Wai/Middleware/Gzip.hs+10−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE Rank2Types, ScopedTypeVariables #-}
23---------------------------------------------------------
34-- |
@@ -35,7 +36,11 @@ import Control.Exception (try, SomeException)
3536import qualified Data.Set as Set
3637import Network.Wai.Header
3738import Network.Wai.Internal
39+#if MIN_VERSION_streaming_commons(0, 2, 0)
40+import qualified Data.Streaming.ByteString.Builder as B
41+#else
3842import qualified Data.Streaming.Blaze as B
43+#endif
3944import qualified Data.Streaming.Zlib as Z
4045import qualified Blaze.ByteString.Builder as Blaze
4146import Control.Monad (unless)
@@ -69,7 +74,7 @@ instance Default GzipSettings where
6974 def = GzipSettings GzipIgnore defaultCheckMime
7075
7176-- | MIME types that will be compressed by default:
72−-- @text/*@, @application/json@, @application/javascript@,
77+-- @text/@ @*@, @application/json@, @application/javascript@,
7378-- @application/ecmascript@, @image/x-icon@.
7479defaultCheckMime :: S.ByteString -> Bool
7580defaultCheckMime bs =
@@ -182,7 +187,11 @@ compressE set res sendResponse =
182187 Just m | gzipCheckMime set m ->
183188 let hs' = fixHeaders hs
184189 in wb $ \body -> sendResponse $ responseStream s hs' $ \sendChunk flush -> do
190+#if MIN_VERSION_streaming_commons(0, 2, 0)
191+ (blazeRecv, _) <- B.newBuilderRecv B.defaultStrategy
192+#else
185193 (blazeRecv, _) <- B.newBlazeRecv B.defaultStrategy
194+#endif
186195 deflate <- Z.initDeflate 1 (Z.WindowBits 31)
187196 let sendBuilder builder = do
188197 popper <- blazeRecv builder
wai-extra/wai-extra.cabal+1−1
@@ -1,5 +1,5 @@
11Name: wai-extra
2−Version: 3.0.21.0
2+Version: 3.0.22.0
33Synopsis: Provides some basic WAI handlers and middleware.
44description:
55 Provides basic WAI handler and middleware functionality:
warp/ChangeLog.md+4
@@ -1,3 +1,7 @@
1+## 3.2.14
2+
3+* Support streaming-commons 0.2
4+
15## 3.2.13
26
37* Tickling HTTP/2 timer. [624](https://github.com/yesodweb/wai/pull/624)
warp/Network/Wai/Handler/Warp/Response.hs+2−2
@@ -22,7 +22,7 @@ import Data.ByteString.Builder.Extra (flush)
2222import qualified Data.ByteString.Char8 as C8
2323import qualified Data.CaseInsensitive as CI
2424import Data.Function (on)
25−import Data.Streaming.Blaze (newBlazeRecv, reuseBufferStrategy)
25+import Data.Streaming.ByteString.Builder (newBuilderRecv, reuseBufferStrategy)
2626import Data.Version (showVersion)
2727import Data.Word8 (_cr, _lf)
2828import qualified Network.HTTP.Types as H
@@ -224,7 +224,7 @@ sendRsp conn _ ver s hs (RspBuilder body needsChunked) = do
224224
225225sendRsp conn _ ver s hs (RspStream streamingBody needsChunked th) = do
226226 header <- composeHeaderBuilder ver s hs needsChunked
227− (recv, finish) <- newBlazeRecv $ reuseBufferStrategy
227+ (recv, finish) <- newBuilderRecv $ reuseBufferStrategy
228228 $ toBuilderBuffer (connWriteBuffer conn) (connBufferSize conn)
229229 let send builder = do
230230 popper <- recv builder
warp/warp.cabal+1−1
@@ -1,5 +1,5 @@
11Name: warp
2−Version: 3.2.13
2+Version: 3.2.14
33Synopsis: A fast, light-weight web server for WAI applications.
44License: MIT
55License-file: LICENSE