module Network.HTTP2 (
Frame(..)
, FrameHeader(..)
, FramePayload(..)
, encodeFrame
, encodeFrameHeader
, encodeFramePayload
, EncodeInfo(..)
, encodeInfo
, module Network.HTTP2.Decode
, FrameTypeId(..)
, framePayloadToFrameTypeId
, FrameType
, fromFrameTypeId
, toFrameTypeId
, HeaderBlockFragment
, Padding
, Priority(..)
, PromisedStreamId
, LastStreamId
, StreamDependency
, WindowSizeIncrement
, StreamIdentifier
, fromStreamIdentifier
, toStreamIdentifier
, isControl
, isRequest
, isResponse
, testExclusive
, setExclusive
, FrameFlags
, defaultFlags
, testEndStream
, testAck
, testEndHeader
, testPadded
, testPriority
, setEndStream
, setAck
, setEndHeader
, setPadded
, setPriority
, SettingsList
, SettingsValue
, SettingsKeyId(..)
, fromSettingsKeyId
, toSettingsKeyId
, checkSettingsList
, Settings(..)
, defaultSettings
, updateSettings
, ErrorCode
, ErrorCodeId(..)
, fromErrorCodeId
, toErrorCodeId
, HTTP2Error(..)
, errorCodeId
, connectionPreface
, connectionPrefaceLength
, frameHeaderLength
, maxPayloadLength
) where
import Data.ByteString (ByteString)
import qualified Data.ByteString as BS
import Network.HTTP2.Decode
import Network.HTTP2.Encode
import Network.HTTP2.Types
connectionPreface :: ByteString
connectionPreface = "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
connectionPrefaceLength :: Int
connectionPrefaceLength = BS.length connectionPreface