Modulehttp2-5.4.8Haskell2010
Network.HTTP2.Client.Internal
- 8 types
- 1 value
- Packagehttp2-5.4.8
- Exports9
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceInternal.hs
HTTP/2 configuration.
Constructors
ConfigconfWriteBuffer :: BufferThis is used only by frameSender. This MUST be freed after frameSender is terminated.
confBufferSize :: BufferSizeThe size of the write buffer. We assume that the read buffer is the same size. So, this value is announced via SETTINGS_MAX_FRAME_SIZE to the peer.
confSendAll :: ByteString -> IO ()confReadN :: Int -> IO ByteStringconfPositionReadMaker :: PositionReadMakerconfTimeoutManager :: ManagerconfMySockAddr :: SockAddrThis is copied into Aux, if exist, on server.
confPeerSockAddr :: SockAddrThis is copied into Aux, if exist, on server.
confReadNTimeout :: BoolconfOnInformational :: StreamId -> TokenHeaderTable -> IO ()Client only: called when a 1xx informational response (e.g. 103 Early Hints) is received on the given stream, ahead of the final response. No-op by default.
Client configuration
Constructors
ClientConfigscheme :: Schemehttps or http
cacheLimit :: IntThe maximum number of incoming streams on the net
connectionWindowSize :: WindowSizeThe window size of connection.
settings :: SettingsSettings
Instances2Eq, Show
Eq ClientConfigDefined in http2-5.4.8 · Network.HTTP2.Client.RunShow ClientConfigDefined in http2-5.4.8 · Network.HTTP2.Client.Run
HTTP/2 settings. See https://datatracker.ietf.org/doc/html/rfc9113#name-defined-settings.
Constructors
SettingsheaderTableSize :: IntSETTINGS_HEADER_TABLE_SIZE
enablePush :: BoolSETTINGS_ENABLE_PUSH
maxConcurrentStreams :: Maybe IntSETTINGS_MAX_CONCURRENT_STREAMS
initialWindowSize :: WindowSizeSETTINGS_INITIAL_WINDOW_SIZE
maxFrameSize :: IntSETTINGS_MAX_FRAME_SIZE
maxHeaderListSize :: Maybe IntSETTINGS_MAX_HEADER_LIST_SIZE
pingRateLimit :: IntMaximum number of pings allowed per second (CVE-2019-9512)
emptyFrameRateLimit :: IntMaximum number of empty data frames allowed per second (CVE-2019-9518)
settingsRateLimit :: IntMaximum number of settings frames allowed per second (CVE-2019-9515)
rstRateLimit :: IntMaximum number of streams reset per second, whether by the peer's RST_STREAM (CVE-2023-44487) or by ours in answer to a stream error the peer caused (CVE-2025-8671)
Additional information.
Constructors
AuxauxPossibleClientStreams :: IO IntHow many streams can be created without blocking.
auxSendPing :: IO ()Sending a ping.
Low level
3 declarationsConstructors
ClientIOcioMySockAddr :: SockAddrcioPeerSockAddr :: SockAddrcioWriteRequest :: Request -> IO (StreamId, Stream)cioReadResponse :: Stream -> IO ResponsecioWriteBytes :: ByteString -> IO ()cioCreateStream :: IO (StreamId, Stream)
Launching a receiver and a sender.