@@ -4,11 +4,10 @@
44
55module Network.Wai.Handler.Warp.Response where
66
7−import Data.List (foldl')
8−import qualified Data.Conduit.List as CL
97import Blaze.ByteString.Builder (copyByteString, Builder, toLazyByteString, toByteStringIO, flush)
108import Blaze.ByteString.Builder.Char8 (fromChar, fromShow)
119import Blaze.ByteString.Builder.HTTP (chunkedTransferEncoding, chunkedTransferTerminator)
10+import Control.Applicative
1211import Control.Exception
1312import Control.Monad.IO.Class (MonadIO, liftIO)
1413import qualified Data.ByteString.Char8 as B
@@ -16,6 +15,8 @@ import qualified Data.ByteString.Lazy as L
1615import qualified Data.CaseInsensitive as CI
1716import Data.Conduit
1817import Data.Conduit.Blaze (builderToByteString)
18+import qualified Data.Conduit.List as CL
19+import Data.List (foldl')
1920import Data.Maybe (isJust)
2021import Data.Monoid (mappend)
2122import qualified Network.HTTP.Types as H
@@ -40,10 +41,10 @@ sendResponse th req conn r = sendResponse' r
4041 sendResponse' :: Response -> ResourceT IO Bool
4142 sendResponse' (ResponseFile s hs fp mpart) = do
4243 eres <-
43− case (readInt `fmap` lookup H.hContentLength hs, mpart) of
44+ case (readInt <$> lookup H.hContentLength hs, mpart) of
4445 (Just cl, _) -> return $ Right (hs, cl)
4546 (Nothing, Nothing) -> liftIO $ try $ do
46− cl <- P.fileSize `fmap` P.getFileStatus fp
47+ cl <- P.fileSize <$> P.getFileStatus fp
4748 return $ addClToHeaders cl
4849 (Nothing, Just part) -> do
4950 let cl = filePartByteCount part