19个版本 (10个重大更改)

0.11.0 2023年1月16日
0.10.6 2022年7月31日
0.10.3 2022年6月29日
0.9.0 2021年1月29日
0.4.0 2020年7月19日

#1044 in HTTP服务器

Download history • Rust 包仓库 156/week @ 2024-04-15 • Rust 包仓库 209/week @ 2024-04-22 • Rust 包仓库 83/week @ 2024-04-29 • Rust 包仓库 106/week @ 2024-05-06 • Rust 包仓库 257/week @ 2024-05-13 • Rust 包仓库 64/week @ 2024-05-20 • Rust 包仓库 132/week @ 2024-05-27 • Rust 包仓库 240/week @ 2024-06-03 • Rust 包仓库 157/week @ 2024-06-10 • Rust 包仓库 168/week @ 2024-06-17 • Rust 包仓库 170/week @ 2024-06-24 • Rust 包仓库 89/week @ 2024-07-01 • Rust 包仓库 110/week @ 2024-07-08 • Rust 包仓库 76/week @ 2024-07-15 • Rust 包仓库 66/week @ 2024-07-22 • Rust 包仓库 107/week @ 2024-07-29 • Rust 包仓库

每月360次下载

BlueOak-1.0.0

59KB
1K SLoC

tide-compress on crates.io Documentation (latest release)

tide-compress

Tide服务器框架的输出体压缩中间件。

#[async_std::main]
async fn main() {
    let mut app = tide::new();
    app.with(tide_compress::CompressMiddleware::new());
}

特性

  • 支持BrotliGzipDeflate编码,通过Cargo功能标志在编译时配置。
    • 如果可用,优先使用Brotli。
    • 仅引入所需配置的依赖项。
    • 默认为Brotli & Gzip。
    • 还处理按照RFC 9110的“identity”编码指令。
  • Accept-Encoding头检查,包括优先级。
  • 最小体大小阈值(默认:1024字节,可配置)。
  • 不压缩带有Cache-Control: no-transform头的响应。
  • 设置Vary头。
  • 检查Content-Type头(MIME)。
    • jshttp的全面数据库进行对比,该数据库编译为完美哈希函数
    • 可以在crate的仓库中通过运行cargo run generate-database来重新生成数据库。
    • 如果不在数据库中,则使用正则表达式进行对比。
      • 默认值:^text/|\+(?:json|text|xml)$(不区分大小写)。
      • 可以完全覆盖为任何自定义的Regex,其中None作为一个选项。
    • 如果regex包在构建过程中出现问题,则可以在crate功能中排除该功能。

许可证

BlueOak模型许可证1.0.0下授权 — 通过DCO 1.1贡献

依赖关系

~10–22MB
~356K SLoC