warp 0.4.4 → 0.4.5
raw patch · 2 files changed
+8/−7 lines, 2 files
Files
- Network/Wai/Handler/Warp.hs +7/−6
- warp.cabal +1/−1
Network/Wai/Handler/Warp.hs view
@@ -221,6 +221,7 @@ | BadFirstLine String | NonHttp | IncompleteHeaders+ | ConnectionClosedByPeer | OverLargeHeader deriving (Show, Typeable, Eq) instance Exception InvalidRequest@@ -499,7 +500,7 @@ takeHeaders :: E.Iteratee ByteString IO [ByteString] takeHeaders = do- !x <- forceHead+ !x <- forceHead ConnectionClosedByPeer takeHeaders' 0 id id x {-# INLINE takeHeaders #-}@@ -517,7 +518,7 @@ -- no newline. prepend entire bs to next line !Nothing -> {-# SCC "takeHeaders'.noNewline" #-} do let !len' = len + bsLen- !more <- forceHead + !more <- forceHead IncompleteHeaders takeHeaders' len' lines (prepend . (:) bs) more Just !nl -> {-# SCC "takeHeaders'.newline" #-} do let !end = nl @@ -546,15 +547,15 @@ !more <- {-# SCC "takeHeaders'.more" #-} if start < bsLen then return $! SU.unsafeDrop start bs- else forceHead+ else forceHead IncompleteHeaders {-# SCC "takeHeaders'.takeMore" #-} takeHeaders' len' lines' id more {-# INLINE takeHeaders' #-} -forceHead :: E.Iteratee ByteString IO ByteString-forceHead = do+forceHead :: InvalidRequest -> E.Iteratee ByteString IO ByteString+forceHead err = do !mx <- EL.head case mx of- !Nothing -> E.throwError IncompleteHeaders+ !Nothing -> E.throwError err Just !x -> return x {-# INLINE forceHead #-}
warp.cabal view
@@ -1,5 +1,5 @@ Name: warp-Version: 0.4.4+Version: 0.4.5 Synopsis: A fast, light-weight web server for WAI applications. License: BSD3 License-file: LICENSE