warp 3.3.3 → 3.3.4
raw patch · 5 files changed
+15/−10 lines, 5 files
Files
- ChangeLog.md +4/−0
- Network/Wai/Handler/Warp/HTTP2.hs +4/−3
- Network/Wai/Handler/Warp/HTTP2/Request.hs +5/−5
- Network/Wai/Handler/Warp/Run.hs +1/−1
- warp.cabal +1/−1
ChangeLog.md view
@@ -1,3 +1,7 @@+## 3.3.4++* Setting isSecure of HTTP/2 correctly.+ ## 3.3.3 * Calling setOnException in HTTP/2.
Network/Wai/Handler/Warp/HTTP2.hs view
@@ -24,8 +24,8 @@ ---------------------------------------------------------------- -http2 :: Connection -> InternalInfo -> SockAddr -> S.Settings -> (BufSize -> IO ByteString) -> Application -> IO ()-http2 conn ii addr settings readN app =+http2 :: Connection -> Transport -> InternalInfo -> SockAddr -> S.Settings -> (BufSize -> IO ByteString) -> Application -> IO ()+http2 conn transport ii addr settings readN app = H2.run conf http2server where conf = H2.Config {@@ -63,12 +63,13 @@ logResponse h2rsp' req return () - toWAIRequest h2req aux = toRequest ii settings addr hdr bdylen bdy th+ toWAIRequest h2req aux = toRequest ii settings addr hdr bdylen bdy th secure where !hdr = H2.requestHeaders h2req !bdy = H2.getRequestBodyChunk h2req !bdylen = H2.requestBodySize h2req !th = H2.auxTimeHandle aux+ !secure = isTransportSecure transport logResponse h2rsp req = logger req st msiz where
Network/Wai/Handler/Warp/HTTP2/Request.hs view
@@ -26,19 +26,19 @@ import qualified Network.Wai.Handler.Warp.Settings as S (Settings, settingsNoParsePath) import Network.Wai.Handler.Warp.Types -type ToReq = (TokenHeaderList,ValueTable) -> Maybe Int -> IO ByteString -> T.Handle -> IO Request+type ToReq = (TokenHeaderList,ValueTable) -> Maybe Int -> IO ByteString -> T.Handle -> Bool -> IO Request ---------------------------------------------------------------- toRequest :: InternalInfo -> S.Settings -> SockAddr -> ToReq-toRequest ii settings addr ht bodylen body th = do+toRequest ii settings addr ht bodylen body th secure = do ref <- newIORef Nothing- toRequest' ii settings addr ref ht bodylen body th+ toRequest' ii settings addr ref ht bodylen body th secure toRequest' :: InternalInfo -> S.Settings -> SockAddr -> IORef (Maybe HTTP2Data) -> ToReq-toRequest' ii settings addr ref (reqths,reqvt) bodylen body th = return req+toRequest' ii settings addr ref (reqths,reqvt) bodylen body th secure = return req where !req = Request { requestMethod = colonMethod@@ -48,7 +48,7 @@ , rawQueryString = query , queryString = H.parseQuery query , requestHeaders = headers- , isSecure = True+ , isSecure = secure , remoteHost = addr , requestBody = body , vault = vaultValue
Network/Wai/Handler/Warp/Run.hs view
@@ -344,7 +344,7 @@ let recvN = wrappedRecvN th istatus (settingsSlowlorisSize settings) rawRecvN -- fixme: origAddr checkTLS- http2 conn ii origAddr settings recvN app+ http2 conn transport ii origAddr settings recvN app else do src <- mkSource (wrappedRecv conn th istatus (settingsSlowlorisSize settings)) writeIORef istatus True
warp.cabal view
@@ -1,5 +1,5 @@ Name: warp-Version: 3.3.3+Version: 3.3.4 Synopsis: A fast, light-weight web server for WAI applications. License: MIT License-file: LICENSE