trillium-compression 0.3.0

compression handler for trillium.rs
Documentation

🗜️ trillium-compression — response body compression

ci crates.io version docs.rs

Transparent response body compression for trillium. Supports zstd, brotli, and gzip (in that preference order). The algorithm is selected based on the client's Accept-Encoding header; downstream handlers need no modification.

Example

use trillium_compression::Compression;

let app = (
    Compression::new(),
    |conn: trillium::Conn| async move { conn.ok("hello world") },
);
// run with your chosen runtime adapter, e.g.:
// trillium_tokio::run(app);

The set of supported algorithms can be restricted if needed:

use trillium_compression::{Compression, CompressionAlgorithm};

let app = (
    Compression::new().with_algorithms(&[CompressionAlgorithm::Gzip]),
    |conn: trillium::Conn| async move { conn.ok("hello world") },
);

Safety

This crate uses #![forbid(unsafe_code)].

License