server/rest: add helper to extract compression headers
for now we only extract 'deflate' Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
79d841014e
commit
4d84e869bf
@ -39,6 +39,7 @@ use crate::api2::types::{Authid, Userid};
|
|||||||
use crate::auth_helpers::*;
|
use crate::auth_helpers::*;
|
||||||
use crate::config::cached_user_info::CachedUserInfo;
|
use crate::config::cached_user_info::CachedUserInfo;
|
||||||
use crate::tools;
|
use crate::tools;
|
||||||
|
use crate::tools::compression::CompressionMethod;
|
||||||
use crate::tools::FileLogger;
|
use crate::tools::FileLogger;
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -587,6 +588,21 @@ fn extract_lang_header(headers: &http::HeaderMap) -> Option<String> {
|
|||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME: support handling multiple compression methods
|
||||||
|
fn extract_compression_method(headers: &http::HeaderMap) -> Option<CompressionMethod> {
|
||||||
|
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(
|
async fn handle_request(
|
||||||
api: Arc<ApiConfig>,
|
api: Arc<ApiConfig>,
|
||||||
req: Request<Body>,
|
req: Request<Body>,
|
||||||
|
Loading…
Reference in New Issue
Block a user