move src/tools/compression.rs to proxmox-rest-server crate
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
committed by
Thomas Lamprecht
parent
1b552c109d
commit
605fe2e7e7
@ -34,13 +34,15 @@ use proxmox::tools::fs::CreateOptions;
|
||||
use pbs_tools::compression::{DeflateEncoder, Level};
|
||||
use pbs_tools::stream::AsyncReaderStream;
|
||||
use pbs_api_types::{Authid, Userid};
|
||||
use proxmox_rest_server::{ApiConfig, FileLogger, FileLogOptions, AuthError, RestEnvironment};
|
||||
use proxmox_rest_server::{
|
||||
ApiConfig, FileLogger, FileLogOptions, AuthError, RestEnvironment, CompressionMethod,
|
||||
};
|
||||
use proxmox_rest_server::formatter::*;
|
||||
|
||||
use crate::auth_helpers::*;
|
||||
use pbs_config::CachedUserInfo;
|
||||
|
||||
use crate::auth_helpers::*;
|
||||
use crate::tools;
|
||||
use crate::tools::compression::CompressionMethod;
|
||||
|
||||
extern "C" {
|
||||
fn tzset();
|
||||
|
@ -1,39 +0,0 @@
|
||||
use anyhow::{bail, Error};
|
||||
use hyper::header;
|
||||
|
||||
/// Possible Compression Methods, order determines preference (later is preferred)
|
||||
#[derive(Eq, Ord, PartialEq, PartialOrd, Debug)]
|
||||
pub enum CompressionMethod {
|
||||
Deflate,
|
||||
// Gzip,
|
||||
// Brotli,
|
||||
}
|
||||
|
||||
impl CompressionMethod {
|
||||
pub fn content_encoding(&self) -> header::HeaderValue {
|
||||
header::HeaderValue::from_static(self.extension())
|
||||
}
|
||||
|
||||
pub fn extension(&self) -> &'static str {
|
||||
match *self {
|
||||
// CompressionMethod::Brotli => "br",
|
||||
// CompressionMethod::Gzip => "gzip",
|
||||
CompressionMethod::Deflate => "deflate",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl std::str::FromStr for CompressionMethod {
|
||||
type Err = Error;
|
||||
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
match s {
|
||||
// "br" => Ok(CompressionMethod::Brotli),
|
||||
// "gzip" => Ok(CompressionMethod::Gzip),
|
||||
"deflate" => Ok(CompressionMethod::Deflate),
|
||||
// http accept-encoding allows to give weights with ';q='
|
||||
other if other.starts_with("deflate;q=") => Ok(CompressionMethod::Deflate),
|
||||
_ => bail!("unknown compression format"),
|
||||
}
|
||||
}
|
||||
}
|
@ -14,7 +14,6 @@ use proxmox_http::{
|
||||
|
||||
pub mod apt;
|
||||
pub mod async_io;
|
||||
pub mod compression;
|
||||
pub mod config;
|
||||
pub mod disks;
|
||||
|
||||
|
Reference in New Issue
Block a user