- receiveNonChunkedReqBody :: Interaction -> IO ()
- receiveNonChunkedReqBody itr
- = do wanted <- atomically $ readItr itr itrReqBodyWanted fromJust
- remaining <- atomically $ readItr itr itrReqChunkRemaining fromJust
-
- hWaitForInput h (-1)
- chunk <- B.hGetNonBlocking h (min wanted remaining)
-
- let newRemaining = remaining - B.length chunk
- isOver = newRemaining == 0
-
- atomically $ do writeItr itr itrReqChunkRemaining newRemaining
- writeItr itr itrReqChunkIsOver isOver
- writeItr itr itrReqBodyWanted (if isOver then
- Nothing
- else
- Just wanted)
- writeItr itr itrReceivedBody chunk
-
- if isOver then
- return $ acceptRequest B.empty
- else
- return $ observeNonChunkedRequest itr B.empty
-
-
- wasteAllReqBody :: Interaction -> ByteString -> IO ()
- wasteAllReqBody itr soFar
- =
-
--}
-