Module: HTTP2::Header

Defined in:
lib/http/2/header.rb,
lib/http/2/header/huffman.rb,
lib/http/2/header/compressor.rb,
lib/http/2/header/decompressor.rb,
lib/http/2/header/encoding_context.rb,
lib/http/2/header/huffman_statemachine.rb

Overview

To decompress header blocks, a decoder only needs to maintain a dynamic table as a decoding context. No other state information is needed.

Defined Under Namespace

Classes: Compressor, Decompressor, EncodingContext, Huffman

Constant Summary collapse

HEADREP =

Header representation as defined by the spec.

{
  indexed: { prefix: 7, pattern: 0x80 },
  incremental: { prefix: 6, pattern: 0x40 },
  noindex: { prefix: 4, pattern: 0x00 },
  neverindexed: { prefix: 4, pattern: 0x10 },
  changetablesize: { prefix: 5, pattern: 0x20 }
}.each_value(&:freeze).freeze
NAIVE =

Predefined options set for Compressor mew.org/~kazu/material/2014-hpack.pdf

{ index: :never,  huffman: :never   }.freeze
LINEAR =
{ index: :all,    huffman: :never   }.freeze
STATIC =
{ index: :static, huffman: :never   }.freeze
SHORTER =
{ index: :all,    huffman: :never   }.freeze
NAIVEH =
{ index: :never,  huffman: :always  }.freeze
LINEARH =
{ index: :all,    huffman: :always  }.freeze
STATICH =
{ index: :static, huffman: :always  }.freeze
SHORTERH =
{ index: :all,    huffman: :shorter }.freeze