From 1aae6cdd140a912998dec833b083d1566574c142 Mon Sep 17 00:00:00 2001 From: Dan Dumont Date: Wed, 31 Jan 2024 14:01:44 -0500 Subject: [PATCH] condition serving pre-zipped content based on value of `Accept-Encoding` --- core/lib/src/fs/server.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/lib/src/fs/server.rs b/core/lib/src/fs/server.rs index 6061256896..a2de4535ca 100644 --- a/core/lib/src/fs/server.rs +++ b/core/lib/src/fs/server.rs @@ -238,7 +238,10 @@ impl Handler for FileServer { index.respond_to(req).or_forward((data, Status::NotFound)) }, Some(mut p) => { - let check_compressed = options.contains(Options::CheckCompressed); + let gzip_accepted = req.headers().get("Accept-Encoding") + .find(|value| value.contains("gzip")) + .is_some(); + let check_compressed = gzip_accepted && options.contains(Options::CheckCompressed); if check_compressed { if let Some(file) = p.file_name() { let mut compressed = file.to_os_string();