@@ -36,7 +36,6 @@ module Network.Wai.Handler.Warp
3636 , settingsTimeout
3737 , settingsIntercept
3838 , settingsManager
39− , settingsRechunking
4039 -- * Datatypes
4140 , Port
4241 , InvalidRequest (..)
@@ -95,7 +94,7 @@ import Blaze.ByteString.Builder.Enumerator (builderToByteString)
9594import Blaze.ByteString.Builder.HTTP
9695 (chunkedTransferEncoding, chunkedTransferTerminator)
9796import Blaze.ByteString.Builder
98− (copyByteString, Builder, toLazyByteString, toByteStringIO, toByteString)
97+ (copyByteString, Builder, toLazyByteString, toByteStringIO)
9998import Blaze.ByteString.Builder.Char8 (fromChar, fromShow)
10099import Data.Monoid (mappend, mconcat)
101100import Network.Sendfile
@@ -213,7 +212,7 @@ serveConnection settings th onException port app conn remoteHost' = do
213212 liftIO $ T.pause th
214213 res <- E.joinI $ EB.isolate len $$ app env
215214 liftIO $ T.resume th
216− keepAlive <- liftIO $ sendResponse settings th env conn res
215+ keepAlive <- liftIO $ sendResponse th env conn res
217216 if keepAlive then serveConnection' else return ()
218217 Just intercept -> do
219218 liftIO $ T.pause th
@@ -355,8 +354,9 @@ hasBody :: H.Status -> Request -> Bool
355354hasBody s req = s /= (H.Status 204 "") && s /= H.status304 &&
356355 H.statusCode s >= 200 && requestMethod req /= "HEAD"
357356
358−sendResponse :: Settings -> T.Handle -> Request -> Socket -> Response -> IO Bool
359−sendResponse settings th req socket r = sendResponse' r
357+sendResponse :: T.Handle
358+ -> Request -> Socket -> Response -> IO Bool
359+sendResponse th req socket r = sendResponse' r
360360 where
361361 version = httpVersion req
362362 isPersist = checkPersist req
@@ -429,9 +429,7 @@ sendResponse settings th req socket r = sendResponse' r
429429 return (checkPersist req)
430430 response _ = chunk'
431431 $ E.enumList 1 [headers' needsChunked']
432− $$ E.joinI $ ( if settingsRechunking settings
433− then builderToByteString -- FIXME unsafeBuilderToByteString
434− else EL.map toByteString )
432+ $$ E.joinI $ builderToByteString -- FIXME unsafeBuilderToByteString
435433 $$ (iterSocket th socket >> return (isKeepAlive hs))
436434 where
437435 needsChunked' = needsChunked hs
@@ -500,7 +498,6 @@ data Settings = Settings
500498 , settingsTimeout :: Int -- ^ Timeout value in seconds. Default value: 30
501499 , settingsIntercept :: Request -> Maybe (Socket -> E.Iteratee S.ByteString IO ())
502500 , settingsManager :: Maybe Manager -- ^ Use an existing timeout manager instead of spawning a new one. If used, 'settingsTimeout' is ignored. Default is 'Nothing'
503− , settingsRechunking :: Bool -- ^ Should warp re-chunk response builder or not.
504501 }
505502
506503-- | The default settings for the Warp server. See the individual settings for
@@ -519,7 +516,6 @@ defaultSettings = Settings
519516 , settingsTimeout = 30
520517 , settingsIntercept = const Nothing
521518 , settingsManager = Nothing
522− , settingsRechunking = True
523519 }
524520 where
525521 go :: InvalidRequest -> IO ()