52 stable releases
Uses new Rust 2024
new 2.10.0 | Mar 23, 2025 |
---|---|
2.9.4 | Mar 23, 2025 |
2.2.4 | Feb 19, 2025 |
2.2.1 | Jan 20, 2025 |
0.0.2 | Dec 22, 2024 |
#1789 in Network programming
2,327 downloads per month
Used in 5 crates
(via http-type)
21KB
173 lines
http-compress
A lightweight library for decompressing HTTP responses supporting Brotli, Deflate, and Gzip.
Features
Installation
To use this crate, you can run cmd:
cargo add http-compress
Use
Compress
use http_compress::*;
use core::hash::BuildHasherDefault;
use std::{borrow::Cow, collections::HashMap};
let headers: HashMap<_, _, BuildHasherDefault<XxHash3_64>> = HashMap::with_hasher(BuildHasherDefault::default());
let data: Vec<u8> = vec![];
let body: Cow<'_, Vec<u8>> = Compress::from(&headers).decode(&data, 1_024_000);
assert_eq!(*body, data);
Encode
use http_compress::*;
let _ = Compress::Gzip.encode(&[], 1_024_000);
let _ = Compress::Deflate.encode(&[], 1_024_000);
let _ = Compress::Br.encode(&[], 1_024_000);
Decode
use http_compress::*;
let _ = Compress::Gzip.decode(&[], 1_024_000);
let _ = Compress::Deflate.decode(&[], 1_024_000);
let _ = Compress::Br.decode(&[], 1_024_000);
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
Contact
For any inquiries, please reach out to the author at ltpp-universe root@ltpp.vip.
Dependencies
~7MB
~275K SLoC