warp 3.3.28 → 3.3.29
raw patch · 5 files changed
+17/−4 lines, 5 filesdep ~http2
Dependency ranges changed: http2
Files
- ChangeLog.md +4/−0
- Network/Wai/Handler/Warp/HTTP2.hs +7/−2
- Network/Wai/Handler/Warp/Run.hs +3/−1
- Network/Wai/Handler/Warp/Types.hs +2/−0
- warp.cabal +1/−1
ChangeLog.md view
@@ -1,5 +1,9 @@ # ChangeLog for warp +## 3.3.29++* Preparing coming "http2" v4.2.0.+ ## 3.3.28 * Fix for the "-x509" flag
Network/Wai/Handler/Warp/HTTP2.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE BangPatterns #-} {-# LANGUAGE OverloadedStrings #-}@@ -31,7 +32,7 @@ ---------------------------------------------------------------- http2 :: S.Settings -> InternalInfo -> Connection -> Transport -> Application -> SockAddr -> T.Handle -> ByteString -> IO ()-http2 settings ii conn transport app origAddr th bs = do+http2 settings ii conn transport app peersa th bs = do istatus <- newIORef False rawRecvN <- makeRecvN bs $ connRecv conn writeBuffer <- readIORef $ connWriteBuffer conn@@ -51,10 +52,14 @@ , confReadN = recvN , confPositionReadMaker = pReadMaker ii , confTimeoutManager = timeoutManager ii+#if MIN_VERSION_http2(4,2,0)+ , confMySockAddr = connMySockAddr conn+ , confPeerSockAddr = peersa+#endif } checkTLS setConnHTTP2 conn True- H2.run conf $ http2server settings ii transport origAddr app+ H2.run conf $ http2server settings ii transport peersa app where checkTLS = case transport of TCP -> return () -- direct
Network/Wai/Handler/Warp/Run.hs view
@@ -15,7 +15,7 @@ import Data.Streaming.Network (bindPortTCP) import Foreign.C.Error (Errno(..), eCONNABORTED) import GHC.IO.Exception (IOException(..), IOErrorType(..))-import Network.Socket (Socket, close, withSocketsDo, SockAddr, setSocketOption, SocketOption(..))+import Network.Socket (Socket, close, withSocketsDo, SockAddr, setSocketOption, SocketOption(..), getSocketName) #if MIN_VERSION_network(3,1,1) import Network.Socket (gracefulClose) #endif@@ -60,6 +60,7 @@ writeBuffer <- createWriteBuffer 16384 writeBufferRef <- newIORef writeBuffer isH2 <- newIORef False -- HTTP/1.x+ mysa <- getSocketName s return Connection { connSendMany = Sock.sendMany s , connSendAll = sendall@@ -80,6 +81,7 @@ , connRecvBuf = \_ _ -> return True -- obsoleted , connWriteBuffer = writeBufferRef , connHTTP2 = isH2+ , connMySockAddr = mysa } where receive' sock pool = UnliftIO.handleIO handler $ receive sock pool
Network/Wai/Handler/Warp/Types.hs view
@@ -11,6 +11,7 @@ #ifdef MIN_VERSION_crypton_x509 import Data.X509 #endif+import Network.Socket (SockAddr) import Network.Socket.BufferPool import System.Posix.Types (Fd) import qualified System.TimeManager as T@@ -125,6 +126,7 @@ , connWriteBuffer :: IORef WriteBuffer -- | Is this connection HTTP/2? , connHTTP2 :: IORef Bool+ , connMySockAddr :: SockAddr } getConnHTTP2 :: Connection -> IO Bool
warp.cabal view
@@ -1,5 +1,5 @@ Name: warp-Version: 3.3.28+Version: 3.3.29 Synopsis: A fast, light-weight web server for WAI applications. License: MIT License-file: LICENSE