@@ -12,9 +12,6 @@ module Network.Wai.Handler.Warp.Response (
1212
1313import Blaze.ByteString.Builder (fromByteString, Builder, toByteStringIO, flush)
1414import Blaze.ByteString.Builder.HTTP (chunkedTransferEncoding, chunkedTransferTerminator)
15−import Blaze.ByteString.Builder.Internal.Buffer (Buffer (..))
16−import Foreign.ForeignPtr (newForeignPtr_)
17−import Foreign.Ptr (plusPtr)
1815import Control.Applicative
1916import Control.Exception
2017import Control.Monad.IO.Class (liftIO)
@@ -35,7 +32,6 @@ import Network.Wai
3532import qualified Network.Wai.Handler.Warp.Date as D
3633import Network.Wai.Handler.Warp.Header
3734import Network.Wai.Handler.Warp.ResponseHeader
38−import Network.Wai.Handler.Warp.Recv
3935import qualified Network.Wai.Handler.Warp.Timeout as T
4036import Network.Wai.Handler.Warp.Types
4137import Network.Wai.Internal
@@ -216,13 +212,8 @@ sendRsp conn ver s hs (RspBuilder b needsChunked) = do
216212sendRsp conn ver s hs (RspSource withBodyFlush needsChunked th) = withBodyFlush $ \bodyFlush -> do
217213 header <- composeHeaderBuilder ver s hs needsChunked
218214 let src = yield header >> cbody bodyFlush
219− bracket (allocateRecvBuffer bytesPerRead) freeRecvBuffer $ \ptr -> do
220− fptr <- newForeignPtr_ ptr
221− let buffer = Buffer fptr
222− ptr
223− ptr
224− (ptr `plusPtr` bytesPerRead)
225− src $$ unsafeBuilderToByteString (return buffer) =$ connSink conn th
215+ buffer = connWriteBuffer conn
216+ src $$ unsafeBuilderToByteString (return buffer) =$ connSink conn th
226217 where
227218 cbody bodyFlush = if needsChunked then body $= chunk else body
228219 where