@@ -201,9 +201,7 @@ sendResponse :: HttpVersion -> Handle -> Response -> IO Bool
201sendResponse hv handle (ResponseFile s hs fp) = do
201sendResponse hv handle (ResponseFile s hs fp) = do
202 mapM_ (S.hPut handle) $ L.toChunks $ toLazyByteString $ headers hv s hs False
202 mapM_ (S.hPut handle) $ L.toChunks $ toLazyByteString $ headers hv s hs False
203 unsafeSendFile handle fp
203 unsafeSendFile handle fp
204− if lookup "content-length" hs == Nothing
204+ return $ lookup "content-length" hs /= Nothing
206− else S.hPut handle "\r\n\r\n" >> return True
207sendResponse hv handle (ResponseEnumerator res) =
205sendResponse hv handle (ResponseEnumerator res) =
@@ -219,10 +217,7 @@ sendResponse hv handle (ResponseEnumerator res) =
219 chunk' i =
217 chunk' i =
220 if isChunked'
218 if isChunked'
221 then E.joinI $ chunk $$ i
219 then E.joinI $ chunk $$ i
224− then E.joinI $ after $$ i
226 chunk :: E.Enumeratee Builder Builder IO Bool
221 chunk :: E.Enumeratee Builder Builder IO Bool
227 chunk = E.checkDone $ E.continue . step
222 chunk = E.checkDone $ E.continue . step
228 step k E.EOF = k (E.Chunks [chunkedTransferTerminator]) >>== return
223 step k E.EOF = k (E.Chunks [chunkedTransferTerminator]) >>== return
@@ -231,9 +226,6 @@ sendResponse hv handle (ResponseEnumerator res) =
231 k (E.Chunks [chunked]) >>== chunk
226 k (E.Chunks [chunked]) >>== chunk
233 chunked = chunkedTransferEncoding $ mconcat builders
228 chunked = chunkedTransferEncoding $ mconcat builders
234− after = E.checkDone $ E.continue . after'
235− after' k E.EOF = k (E.Chunks [fromByteString "\r\n\r\n"]) >>== return
236− after' k chunks = k chunks >>== after
238parseHeaderNoAttr :: ByteString -> (ByteString, ByteString)
230parseHeaderNoAttr :: ByteString -> (ByteString, ByteString)
239parseHeaderNoAttr s =
231parseHeaderNoAttr s =