1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
module Network.HTTP2.H2.EncodeFrame where
import Network.HTTP2.Frame
import Imports
----------------------------------------------------------------
goawayFrame :: StreamId -> ErrorCode -> ByteString -> ByteString
goawayFrame sid etype debugmsg = encodeFrame einfo frame
where
einfo = encodeInfo id 0
frame = GoAwayFrame sid etype debugmsg
resetFrame :: ErrorCode -> StreamId -> ByteString
resetFrame etype sid = encodeFrame einfo frame
where
einfo = encodeInfo id sid
frame = RSTStreamFrame etype
settingsFrame :: (FrameFlags -> FrameFlags) -> SettingsList -> ByteString
settingsFrame func alist = encodeFrame einfo $ SettingsFrame alist
where
einfo = encodeInfo func 0
pingFrame :: ByteString -> ByteString
pingFrame bs = encodeFrame einfo $ PingFrame bs
where
einfo = encodeInfo setAck 0
windowUpdateFrame :: StreamId -> WindowSize -> ByteString
windowUpdateFrame sid winsiz = encodeFrame einfo $ WindowUpdateFrame winsiz
where
einfo = encodeInfo id sid
|