on master help sign in
copyByteString
fe57586Michael
Network/Wai/Handler/Warp.hs+11−11
@@ -54,7 +54,7 @@ import Blaze.ByteString.Builder.Enumerator (builderToByteString)
54import Blaze.ByteString.Builder.HTTP
54import Blaze.ByteString.Builder.HTTP
55 (chunkedTransferEncoding, chunkedTransferTerminator)
55 (chunkedTransferEncoding, chunkedTransferTerminator)
56import Blaze.ByteString.Builder
56import Blaze.ByteString.Builder
57− (fromByteString, Builder, toLazyByteString, toByteStringIO)
57+ (copyByteString, Builder, toLazyByteString, toByteStringIO)
58import Blaze.ByteString.Builder.Char8 (fromChar, fromString)
58import Blaze.ByteString.Builder.Char8 (fromChar, fromString)
59import Data.Monoid (mconcat, mappend)
59import Data.Monoid (mconcat, mappend)
60import Network.Socket.SendFile (sendFile)
60import Network.Socket.SendFile (sendFile)
@@ -199,24 +199,24 @@ parseFirst s = do
199
199
200headers :: HttpVersion -> Status -> ResponseHeaders -> Bool -> Builder
200headers :: HttpVersion -> Status -> ResponseHeaders -> Bool -> Builder
201headers httpversion status responseHeaders isChunked' = mconcat
201headers httpversion status responseHeaders isChunked' = mconcat
202− [ fromByteString "HTTP/"
202+ [ copyByteString "HTTP/"
203− , fromByteString httpversion
203+ , copyByteString httpversion
204 , fromChar ' '
204 , fromChar ' '
205 , fromString $ show $ statusCode status
205 , fromString $ show $ statusCode status
206 , fromChar ' '
206 , fromChar ' '
207− , fromByteString $ statusMessage status
207+ , copyByteString $ statusMessage status
208− , fromByteString "\r\n"
208+ , copyByteString "\r\n"
209 , mconcat $ map go responseHeaders
209 , mconcat $ map go responseHeaders
210 , if isChunked'
210 , if isChunked'
211− then fromByteString "Transfer-Encoding: chunked\r\n\r\n"
211+ then copyByteString "Transfer-Encoding: chunked\r\n\r\n"
212− else fromByteString "\r\n"
212+ else copyByteString "\r\n"
213 ]
213 ]
214 where
214 where
215 go (x, y) = mconcat
215 go (x, y) = mconcat
216− [ fromByteString $ ciOriginal x
216+ [ copyByteString $ ciOriginal x
217− , fromByteString ": "
217+ , copyByteString ": "
218− , fromByteString y
218+ , copyByteString y
219− , fromByteString "\r\n"
219+ , copyByteString "\r\n"
220 ]
220 ]
221
221
222isChunked :: HttpVersion -> Bool
222isChunked :: HttpVersion -> Bool