- do if reqVer == HttpVersion 1 1 then
-
- case getHeader res "Transfer-Encoding" of
- Nothing -> setRes itr (setHeader res "Transfer-Encoding" "chunked")
- Just te -> let teList = [trim isWhiteSpace x
- | x <- splitBy (== ',') (map toLower te)]
- in
- when (teList == [] || last teList /= "chunked")
- $ setStatus itr InternalServerError
+ do teM <- readHeader itr "Transfer-Encoding"
+ if reqVer == HttpVersion 1 1 then
+
+ do case teM of
+ Nothing -> updateRes itr $ setHeader "Transfer-Encoding" "chunked"
+ Just te -> let teList = [trim isWhiteSpace x
+ | x <- splitBy (== ',') (map toLower te)]
+ in
+ when (teList == [] || last teList /= "chunked")
+ $ setStatus itr InternalServerError
+
+ writeItr itr itrWillChunkBody True