#http #http-response #request-response #redirect #tcp

http-compress

A lightweight library for decompressing HTTP responses supporting Brotli, Deflate, and Gzip

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

Download history 323/week @ 2024-12-21 94/week @ 2024-12-28 1217/week @ 2025-01-04 217/week @ 2025-01-11 1601/week @ 2025-01-18 28/week @ 2025-01-25 266/week @ 2025-02-01 411/week @ 2025-02-08 422/week @ 2025-02-15 200/week @ 2025-02-22 437/week @ 2025-03-01 842/week @ 2025-03-08 792/week @ 2025-03-15

2,327 downloads per month
Used in 5 crates (via http-type)

MIT license

21KB
173 lines

http-compress

Official Documentation

Api Docs

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