module Network.HPACK.HeaderBlock.HeaderField (
HeaderBlock
, emptyHeaderBlock
, HeaderField(..)
, HeaderName
, HeaderValue
, Index
, Indexing(..)
, Naming(..)
) where
import Network.HPACK.Types
type HeaderBlock = [HeaderField]
emptyHeaderBlock :: HeaderBlock
emptyHeaderBlock = []
data HeaderField = ChangeTableSize !Int
| Indexed !Index
| Literal !Indexing !Naming !HeaderValue
deriving (Eq,Show)
data Indexing = Add | NotAdd | Never deriving (Eq,Show)
data Naming = Idx !Index | Lit !HeaderName deriving (Eq,Show)