diff --git a/src/server/rest.rs b/src/server/rest.rs index 1cd26787..02258eab 100644 --- a/src/server/rest.rs +++ b/src/server/rest.rs @@ -39,6 +39,7 @@ use crate::api2::types::{Authid, Userid}; use crate::auth_helpers::*; use crate::config::cached_user_info::CachedUserInfo; use crate::tools; +use crate::tools::compression::CompressionMethod; use crate::tools::FileLogger; extern "C" { @@ -587,6 +588,21 @@ fn extract_lang_header(headers: &http::HeaderMap) -> Option { None } +// FIXME: support handling multiple compression methods +fn extract_compression_method(headers: &http::HeaderMap) -> Option { + if let Some(raw_encoding) = headers.get(header::ACCEPT_ENCODING) { + if let Ok(encoding) = raw_encoding.to_str() { + for encoding in encoding.split(&[',', ' '][..]) { + if let Ok(method) = encoding.parse() { + return Some(method); + } + } + } + } + + None +} + async fn handle_request( api: Arc, req: Request,