tide-compress 0.5.0

Outgoing compression middleware for the Tide web framework.
Documentation
# tide-compress


Outgoing compression middleware for the [Tide][] web framework.

```rust
#[async_std::main]

async fn main() -> Result<(), std::io::Error> {
    let mut app = tide::new();
    app.with(tide_compress::CompressMiddleware::new());
}
```

## Features


- Support for Brotli, Gzip, and Deflate encodings, compile-time configurable through cargo feature flags.
  - Prioritizes Brotli if available.
  - Only pulls in the necessary dependencies for the desired configuration.
  - Defaults to Brotli + Gzip.
- `Accept-Encoding` checking.
- Minimum body size threshold.
  - Configurable when created by `CompressMiddleware::with_threshold(usize)`.
- Does not compress responses with a [`Cache-Control: no-transform`]https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control header.

## Caveats


- Does not do `Accept-Encoding` priority handling.
- Does not do any `Content-Type` / MIME checking.
- Does not adjust the `Vary` header.

## License


Licensed under the [BlueOak Model License 1.0.0](LICENSE) — _[Contributions via DCO 1.1](contributing.md#developers-certificate-of-origin)_

[Tide]: https://github.com/http-rs/tide