@@ -138,8 +138,10 @@ requestBodyHandle :: Handle -> MVar Int -> Enumerator a
138requestBodyHandle h mlen iter accum = modifyMVar mlen (helper accum) where
138requestBodyHandle h mlen iter accum = modifyMVar mlen (helper accum) where
139 helper a 0 = return (0, a)
139 helper a 0 = return (0, a)
140 helper a len = do
140 helper a len = do
141+ let maxChunkSize = 1024
141− bs <- BS.hGet h len
142+ bs <- BS.hGet h $ min len maxChunkSize
142 let newLen = len - BS.length bs
143 let newLen = len - BS.length bs
144+ putStrLn $ "reading a chunk of size " ++ show (BS.length bs)
143 ea' <- iter a bs
145 ea' <- iter a bs
144 case ea' of
146 case ea' of
145 Left a' -> return (newLen, a')
147 Left a' -> return (newLen, a')
@@ -170,7 +172,10 @@ sendResponse h res = do
170 Left fp -> unsafeSendFile h fp
172 Left fp -> unsafeSendFile h fp
171 Right enum -> enum myPut h >> return ()
173 Right enum -> enum myPut h >> return ()
176+ putStrLn $ "sending a chunk of size " ++ show (BS.length bs)
173− myPut _ bs = BS.hPut h bs >> return (Right h)
178+ return (Right h)
174 putHeader (x, y) = do
179 putHeader (x, y) = do
175 BS.hPut h $ responseHeaderToBS x
180 BS.hPut h $ responseHeaderToBS x
176 BS.hPut h $ SL.pack ": "
181 BS.hPut h $ SL.pack ": "