From 5b6cb7d796cdc3beb24f533accb6a24ca1d385b1 Mon Sep 17 00:00:00 2001 From: xfy Date: Thu, 16 Jul 2026 11:33:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(middleware):=20COMPRESSION=5FALGORITHMS=20?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC=E6=94=B9=E4=B8=BA=20off?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 未设置环境变量时不再默认启用全部压缩算法,改为默认关闭。显式设为 "all" 或具体算法组合仍可按需开启。 - src/middleware.rs: fallback 由 "all" 改为 "off",同步更新文档注释 与默认值测试(compression_default_env_is_all → _is_off) - .env.example: 示例值与说明同步更新 --- .env.example | 5 +++-- src/middleware.rs | 12 +++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.env.example b/.env.example index 7657b07..d932b85 100644 --- a/.env.example +++ b/.env.example @@ -89,9 +89,10 @@ SSR_CACHE_SECS=3600 # HTTP 响应压缩算法。逗号分隔,大小写不敏感。 # 支持:gzip、brotli(可简写为 br)、deflate、zstd。 -# 示例值(四项全开)等价于 "all",也是不设环境变量时的默认。 +# 默认关闭压缩(不设环境变量时等同 "off")。 +# 设为 "all" 启用全部算法,或按需组合,例如 "gzip, brotli, zstd"。 # 用 "none" 或 "off" 关闭压缩。 -COMPRESSION_ALGORITHMS=gzip,brotli,deflate,zstd +COMPRESSION_ALGORITHMS=off # ───────────────────────────────────────────────────────────── # 图片响应缓存头(硬编码默认值,非环境变量) diff --git a/src/middleware.rs b/src/middleware.rs index eb02ee7..d7b9154 100644 --- a/src/middleware.rs +++ b/src/middleware.rs @@ -78,7 +78,8 @@ pub(crate) fn parse_compression_algorithms(env: &str) -> Option Option Option { use tower_http::compression::CompressionLayer; - let env = std::env::var("COMPRESSION_ALGORITHMS").unwrap_or_else(|_| "all".to_string()); + let env = std::env::var("COMPRESSION_ALGORITHMS").unwrap_or_else(|_| "off".to_string()); let algorithms = parse_compression_algorithms(&env)?; Some( @@ -303,12 +304,9 @@ mod tests { } #[test] - fn compression_default_env_is_all() { + fn compression_default_env_is_off() { // 模拟未设置环境变量时的默认值 - assert_eq!( - parse_compression_algorithms("all"), - Some(CompressionAlgorithms::all_enabled()) - ); + assert_eq!(parse_compression_algorithms("off"), None); } #[test]