@@ -18,17 +18,17 @@ module Network.Wai.Handler.Warp.Response (
1818#define MIN_VERSION_base(x,y,z) 1
1919#endif
2020
21−import Blaze.ByteString.Builder (fromByteString, Builder, flush)
2221import Blaze.ByteString.Builder.HTTP (chunkedTransferEncoding, chunkedTransferTerminator)
2322#if __GLASGOW_HASKELL__ < 709
2423import Control.Applicative
2524#endif
2625import Control.Exception
26+import Control.Monad (unless, when)
2727import Data.Array ((!))
2828import Data.ByteString (ByteString)
29−import Data.Streaming.Blaze (newBlazeRecv, reuseBufferStrategy)
3029import qualified Data.ByteString as S
31−import Control.Monad (unless, when)
30+import Data.ByteString.Builder (byteString, Builder)
31+import Data.ByteString.Builder.Extra (flush)
3232import qualified Data.ByteString.Char8 as B (pack)
3333import qualified Data.CaseInsensitive as CI
3434import Data.Function (on)
@@ -42,10 +42,11 @@ import Data.Monoid ((<>))
4242#else
4343import Data.Monoid (mappend, mempty)
4444#endif
45+import Data.Streaming.Blaze (newBlazeRecv, reuseBufferStrategy)
4546import Data.Version (showVersion)
4647import qualified Network.HTTP.Types as H
4748import Network.Wai
48−import Network.Wai.Handler.Warp.Buffer (toBlazeBuffer)
49+import Network.Wai.Handler.Warp.Buffer (toBuilderBuffer)
4950import qualified Network.Wai.Handler.Warp.Date as D
5051import qualified Network.Wai.Handler.Warp.FdCache as F
5152import Network.Wai.Handler.Warp.Header
@@ -268,7 +269,7 @@ sendRsp conn mfdc ver s0 hs0 (RspFile path mPart mRange isHead hook) = do
268269 hs = addAcceptRanges hs0
269270 s2 = H.status404
270271 hs2 = replaceHeader H.hContentType "text/plain; charset=utf-8" hs0
271− body = fromByteString "File not found"
272+ body = byteString "File not found"
272273
273274----------------------------------------------------------------
274275
@@ -287,7 +288,7 @@ sendRsp conn _ ver s hs (RspBuilder body needsChunked) = do
287288sendRsp conn _ ver s hs (RspStream streamingBody needsChunked th) = do
288289 header <- composeHeaderBuilder ver s hs needsChunked
289290 (recv, finish) <- newBlazeRecv $ reuseBufferStrategy
290− $ toBlazeBuffer (connWriteBuffer conn) (connBufferSize conn)
291+ $ toBuilderBuffer (connWriteBuffer conn) (connBufferSize conn)
291292 let send builder = do
292293 popper <- recv builder
293294 let loop = do
@@ -448,6 +449,6 @@ replaceHeader k v hdrs = (k,v) : deleteBy ((==) `on` fst) (k,v) hdrs
448449
449450composeHeaderBuilder :: H.HttpVersion -> H.Status -> H.ResponseHeaders -> Bool -> IO Builder
450451composeHeaderBuilder ver s hs True =
451− fromByteString <$> composeHeader ver s (addTransferEncoding hs)
452+ byteString <$> composeHeader ver s (addTransferEncoding hs)
452453composeHeaderBuilder ver s hs False =
453− fromByteString <$> composeHeader ver s hs
454+ byteString <$> composeHeader ver s hs