on master help sign in
Fix wai-frontend-monadcgi
commit0bf9d008e3bad29c86e9456ccf35d196cd82809d authorMichael Snoyman <michael@snoyman.com> dateThu 22 May 2014, 10:50 (12 years ago) parent2e0fa5e
1 file changed+3−5
wai-frontend-monadcgi/Network/Wai/Frontend/MonadCGI.hs+3−5
wai-frontend-monadcgi/Network/Wai/Frontend/MonadCGI.hs+3−5
@@ -10,8 +10,6 @@ import Network.HTTP.Types (Status (..))
1010import Control.Monad.IO.Class (liftIO)
1111import Data.CaseInsensitive (original)
1212
13−import Data.Conduit.Lazy (lazyConsume)
14−
1513import qualified Data.Map as Map
1614import qualified Data.ByteString.Lazy as BS
1715import qualified Data.ByteString.Char8 as S8
@@ -32,8 +30,8 @@ cgiToAppGeneric :: Monad m
3230 => (m (Headers, CGIResult) -> IO (Headers, CGIResult))
3331 -> CGIT m CGIResult
3432 -> Application
35−cgiToAppGeneric toIO cgi env = do
36− input <- fmap BS.fromChunks $ lazyConsume $ requestBody env
33+cgiToAppGeneric toIO cgi env sendResponse = do
34+ input <- lazyRequestBody env
3735 let vars = map (first fixVarName . go) (requestHeaders env)
3836 ++ getCgiVars env
3937 (inputs, body') = decodeInput vars input
@@ -51,7 +49,7 @@ cgiToAppGeneric toIO cgi env = do
5149 let status' = case lookup (fromString "Status") headers' of
5250 Nothing -> 200
5351 Just s -> safeRead 200 $ S8.unpack s
54− return $ responseLBS (Status status' S8.empty) headers' output
52+ sendResponse $ responseLBS (Status status' S8.empty) headers' output
5553 where
5654 go (x, y) = (S8.unpack $ original x, S8.unpack y)
5755