Skip to main content

CompressionPolicy

Struct CompressionPolicy 

Source
pub struct CompressionPolicy {
    pub encodings: Vec<String>,
    pub min_size: usize,
}
Expand description

The rules that decide which encoding an answer carries.

The policy holds no server state, so the same rules can be used by any server that answers with a compressed body.

Fields§

§encodings: Vec<String>

The encodings that are offered, in the order they are preferred.

§min_size: usize

The smallest body that is worth compressing.

Implementations§

Source§

impl CompressionPolicy

Source

pub fn pick(&self, accept_encoding: &str) -> Option<String>

The encoding the client asked for, when one of the offered encodings is accepted.

The offered encodings are tried in the order they are preferred, so the first one the client accepts is the one that is used.

§Arguments
  • &str - The accept-encoding header of the request.
§Returns
  • Option<String> - The encoding to answer with, when the client accepts one of the offered encodings.
Source

pub fn accepted(&self, accept_encoding: &str) -> Vec<String>

The encodings the client accepts, without the ones it refused.

An encoding that is refused with a quality of zero is dropped, and the tokens are read in the case the client wrote them in.

§Arguments
  • &str - The accept-encoding header of the request.
§Returns
  • Vec<String> - The tokens the client accepts.
Source

pub fn is_compressible(content_type: &str) -> bool

Whether a body of that content type is worth compressing.

A body that is already compressed is sent as it is, and the stream of events is never compressed. The rule does not depend on the encodings that are offered, so it is asked of the policy itself.

§Arguments
  • &str - The content type of the answer.
§Returns
  • bool - Whether the body may be compressed.
Source§

impl CompressionPolicy

Source

pub fn get_encodings(&self) -> &Vec<String>

Source

pub fn get_min_size(&self) -> usize

Trait Implementations§

Source§

impl Clone for CompressionPolicy

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CompressionPolicy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CompressionPolicy

Source§

fn default() -> Self

Builds the policy that is used when none is given.

§Returns
  • Self - The default policy.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.