Struct salvo::prelude::Compression
source · #[non_exhaustive]pub struct Compression {
pub algos: IndexMap<CompressionAlgo, CompressionLevel>,
pub content_types: Vec<Mime>,
pub min_length: usize,
pub force_priority: bool,
}
Available on crate feature
compression
only.Expand description
Compression
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.algos: IndexMap<CompressionAlgo, CompressionLevel>
Compression algorithms to use.
content_types: Vec<Mime>
Content types to compress.
min_length: usize
Sets minimum compression size, if body less than this value, no compression.
force_priority: bool
Ignore request algorithms order in Accept-Encoding
header and always server’s config.
Implementations§
source§impl Compression
impl Compression
sourcepub fn new() -> Compression
pub fn new() -> Compression
Create a new Compression
.
sourcepub fn disable_all(self) -> Compression
pub fn disable_all(self) -> Compression
Remove all compression algorithms.
sourcepub fn enable_gzip(self, level: CompressionLevel) -> Compression
pub fn enable_gzip(self, level: CompressionLevel) -> Compression
Sets Compression
with algos.
sourcepub fn disable_gzip(self) -> Compression
pub fn disable_gzip(self) -> Compression
Disable gzip compression.
sourcepub fn enable_zstd(self, level: CompressionLevel) -> Compression
pub fn enable_zstd(self, level: CompressionLevel) -> Compression
Enable zstd compression.
sourcepub fn disable_zstd(self) -> Compression
pub fn disable_zstd(self) -> Compression
Disable zstd compression.
sourcepub fn enable_brotli(self, level: CompressionLevel) -> Compression
pub fn enable_brotli(self, level: CompressionLevel) -> Compression
Enable brotli compression.
sourcepub fn disable_brotli(self) -> Compression
pub fn disable_brotli(self) -> Compression
Disable brotli compression.
sourcepub fn enable_deflate(self, level: CompressionLevel) -> Compression
pub fn enable_deflate(self, level: CompressionLevel) -> Compression
Enable deflate compression.
sourcepub fn disable_deflate(self) -> Compression
pub fn disable_deflate(self) -> Compression
Disable deflate compression.
sourcepub fn min_length(self, size: usize) -> Compression
pub fn min_length(self, size: usize) -> Compression
Sets minimum compression size, if body less than this value, no compression default is 1kb
sourcepub fn force_priority(self, force_priority: bool) -> Compression
pub fn force_priority(self, force_priority: bool) -> Compression
Sets Compression
with force_priority.
sourcepub fn content_types(self, content_types: &[Mime]) -> Compression
pub fn content_types(self, content_types: &[Mime]) -> Compression
Sets Compression
with content types list.
Trait Implementations§
source§impl Clone for Compression
impl Clone for Compression
source§fn clone(&self) -> Compression
fn clone(&self) -> Compression
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Compression
impl Debug for Compression
source§impl Default for Compression
impl Default for Compression
source§fn default() -> Compression
fn default() -> Compression
Returns the “default value” for a type. Read more
source§impl Handler for Compression
impl Handler for Compression
source§fn handle<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
req: &'life1 mut Request,
depot: &'life2 mut Depot,
res: &'life3 mut Response,
ctrl: &'life4 mut FlowCtrl
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Compression: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
req: &'life1 mut Request,
depot: &'life2 mut Depot,
res: &'life3 mut Response,
ctrl: &'life4 mut FlowCtrl
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Compression: 'async_trait,
Handle http request.
Auto Trait Implementations§
impl Freeze for Compression
impl RefUnwindSafe for Compression
impl Send for Compression
impl Sync for Compression
impl Unpin for Compression
impl UnwindSafe for Compression
Blanket Implementations§
source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more