packages feed

http2-tls 0.2.5 → 0.2.6

raw patch · 5 files changed

+44/−8 lines, 5 filesdep ~bytestringPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: bytestring

API changes (from Hackage documentation)

+ Network.HTTP2.TLS.Client: settingsSessionManager :: Settings -> SessionManager
+ Network.HTTP2.TLS.Client: settingsUseEarlyData :: Settings -> Bool
+ Network.HTTP2.TLS.Client: settingsWantSessionResume :: Settings -> Maybe (SessionID, SessionData)
+ Network.HTTP2.TLS.Server: settingsOpenServerSocket :: Settings -> AddrInfo -> IO Socket

Files

Network/HTTP2/TLS/Client.hs view
@@ -33,6 +33,9 @@     settingsConnectionWindowSize,     settingsStreamWindowSize,     settingsServerNameOverride,+    settingsSessionManager,+    settingsWantSessionResume,+    settingsUseEarlyData, ) where  import Data.ByteString (ByteString)@@ -231,11 +234,12 @@     -- <https://datatracker.ietf.org/doc/html/rfc4366#section-3.1>     (defaultParamsClient serverName (BS.C8.pack $ show port))         { clientSupported = supported-        , clientWantSessionResume = Nothing+        , clientWantSessionResume = settingsWantSessionResume         , clientUseServerNameIndication = True         , clientShared = shared         , clientHooks = hooks         , clientDebug = debug+        , clientUseEarlyData = settingsUseEarlyData         }   where     shared =
Network/HTTP2/TLS/Client/Settings.hs view
@@ -8,7 +8,7 @@     cacheLimit,     defaultClientConfig,  )-import Network.TLS (SessionManager, noSessionManager)+import Network.TLS (SessionData, SessionID, SessionManager, noSessionManager)  -- Client settings type. data Settings = Settings@@ -59,6 +59,16 @@     -- 1048575     , settingsSessionManager :: SessionManager     -- ^ TLS session manager (H2 and TLS)+    , settingsWantSessionResume :: Maybe (SessionID, SessionData)+    -- ^ Try to resume a TLS session (H2 and TLS)+    --+    -- >>> settingsWantSessionResume defaultSettings+    -- Nothing+    , settingsUseEarlyData :: Bool+    -- ^ Try to use 0-RTT (H2 and TLS)+    --+    -- >>> settingsUseEarlyData defaultSettings+    -- False     }  -- | Default settings.@@ -75,4 +85,6 @@         , settingsStreamWindowSize = defaultMaxStreamData         , settingsConnectionWindowSize = defaultMaxData         , settingsSessionManager = noSessionManager+        , settingsWantSessionResume = Nothing+        , settingsUseEarlyData = False         }
Network/HTTP2/TLS/Server.hs view
@@ -24,6 +24,7 @@     settingsConnectionWindowSize,     settingsStreamWindowSize,     settingsSessionManager,+    settingsOpenServerSocket,      -- * IO backend     IOBackend,@@ -81,7 +82,11 @@     -> (T.Manager -> IOBackend -> IO a)     -> IO a runTLS settings creds host port alpn action =-    runTCPServer (settingsTimeout settings) (Just host) (show port) $ \mgr th sock -> do+    runTCPServerWithSocket+        (settingsOpenServerSocket settings)+        (settingsTimeout settings)+        (Just host)+        (show port) $ \mgr th sock -> do         backend <- mkBackend settings sock         E.bracket (contextNew backend params) bye $ \ctx -> do             handshake ctx@@ -99,7 +104,11 @@ -- | Running an HTTP\/2 client over TCP. runH2C :: Settings -> HostName -> PortNumber -> Server -> IO () runH2C settings@Settings{..} host port server =-    runTCPServer settingsTimeout (Just host) (show port) $ \mgr th sock -> do+    runTCPServerWithSocket+        settingsOpenServerSocket+        settingsTimeout+        (Just host)+        (show port) $ \mgr th sock -> do         iobackend0 <- tcpIOBackend settings sock         let iobackend = timeoutIOBackend th settings iobackend0         run' settings server mgr iobackend@@ -155,7 +164,11 @@ runIOH2C     :: Settings -> HostName -> PortNumber -> (ServerIO -> IO (IO ())) -> IO () runIOH2C settings0@Settings{..} host port action =-    runTCPServer settingsTimeout (Just host) (show port) $ \mgr th sock -> do+    runTCPServerWithSocket+        settingsOpenServerSocket+        settingsTimeout+        (Just host)+        (show port) $ \mgr th sock -> do         iobackend0 <- tcpIOBackend settings0 sock         let iobackend = timeoutIOBackend th settings0 iobackend0         runIO' settings0 action mgr iobackend
Network/HTTP2/TLS/Server/Settings.hs view
@@ -5,6 +5,8 @@     defaultServerConfig,     numberOfWorkers,  )+import Network.Run.TCP.Timeout+import Network.Socket import Network.TLS (SessionManager, noSessionManager)  -- Server settings type.@@ -62,6 +64,10 @@     -- 1048575     , settingsSessionManager :: SessionManager     -- ^ TLS session manager (H2 and TLS)+    , settingsOpenServerSocket :: AddrInfo -> IO Socket+    -- ^ Function to initialize the server socket+    --+    -- Defaults to 'openServerSocket'     }  -- | Default settings.@@ -79,4 +85,5 @@         , settingsStreamWindowSize = defaultMaxStreamData         , settingsConnectionWindowSize = defaultMaxData         , settingsSessionManager = noSessionManager+        , settingsOpenServerSocket = openServerSocket         }
http2-tls.cabal view
@@ -1,6 +1,6 @@ cabal-version: >=1.10 name:          http2-tls-version:       0.2.5+version:       0.2.6 license:       BSD3 license-file:  LICENSE maintainer:    Kazu Yamamoto <kazu@iij.ad.jp>@@ -36,10 +36,10 @@     ghc-options:        -Wall     build-depends:         base >=4.9 && <5,-        bytestring >= 0.10 && < 0.12,+        bytestring >= 0.10 && < 0.13,         http2 >=5.1 && < 5.2,         data-default-class >= 0.1 && < 0.2,-        network >= 3.1.4 && < 3.2,+        network >= 3.1.4,         time-manager >= 0.0.1 && < 0.1,         unliftio >= 0.2 && < 0.3,         network-run >= 0.2.6 && < 0.3,