Pure-Python HPACK header compression
Project description
This module contains a pure-Python HTTP/2 header encoding (HPACK) logic for use in Python programs that implement HTTP/2. It also contains a compatibility layer that automatically enables the use of nghttp2 if it’s available.
Contributing
hpack welcomes contributions from anyone! Unlike many other projects we are happy to accept cosmetic contributions and small contributions, in addition to large feature requests and changes.
Before you contribute (either by opening an issue or filing a pull request), please read the contribution guidelines.
License
hpack is made available under the MIT License. For more details, see the LICENSE file in the repository.
Release History
2.1.0 (2016-02-02)
API Changes (Backward Compatible)
Added new InvalidTableIndex exception, a subclass of HPACKDecodingError.
Instead of throwing IndexError when encountering invalid encoded integers HPACK now throws HPACKDecodingError.
Instead of throwing UnicodeDecodeError when encountering headers that are not UTF-8 encoded, HPACK now throws HPACKDecodingError.
Instead of throwing IndexError when encountering invalid table offsets, HPACK now throws InvalidTableIndex.
Added raw flag to decode, allowing decode to return bytes instead of attempting to decode the headers as UTF-8.
Bugfixes
memoryview objects are now used when decoding HPACK, improving the performance by avoiding unnecessary data copies.
2.0.1 (2015-11-09)
Fixed a bug where the Python HPACK implementation would only emit header table size changes for the total change between one header block and another, rather than for the entire sequence of changes.
2.0.0 (2015-10-12)
Remove unused HPACKEncodingError.
Add the shortcut ability to import the public API (Encoder, Decoder, HPACKError, HPACKDecodingError) directly, rather than from hpack.hpack.
1.1.0 (2015-07-07)
Add support for emitting ‘never indexed’ header fields, by using an optional third element in the header tuple. With thanks to @jimcarreer!
1.0.1 (2015-04-19)
Header fields that have names matching header table entries are now added to the header table. This improves compression efficiency at the cost of slightly more table operations. With thanks to Tatsuhiro Tsujikawa.
1.0.0 (2015-04-13)
Initial fork of the code from hyper.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for hpack-2.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 994e76b3394c6ebf97d386a5256eeed9deca7c32f4bbe5aaf858480f5e735a34 |
|
MD5 | b6d308898b3c3f3ebd07a1f947b3a0f1 |
|
BLAKE2b-256 | 3340ed725f55433ae7ae8af664ef3936dfb209816d6fac4873175957fa45f050 |