@@ -197,11 +197,15 @@ isChunked = (==) http11
197197sendResponse :: HttpVersion -> Handle -> Response -> IO ()
198198sendResponse hv handle res = do
199199 responseEnumerator res $ \s hs ->
200− E.joinI $ chunk
201− $$ E.enumList 1 [headers hv s hs]
200+ chunk'
201+ $ E.enumList 1 [headers hv s hs]
202202 $$ E.joinI $ builderToByteString
203203 $$ iterHandle handle
204204 where
205+ chunk' i =
206+ if isChunked hv
207+ then E.joinI $ chunk $$ i
208+ else i
205209 chunk :: E.Enumeratee Builder Builder IO ()
206210 chunk = E.checkDone $ E.continue . step
207211 step k E.EOF = k (E.Chunks [chunkedTransferTerminator]) >>== return