Enum Compress

Source
pub enum Compress {
    Gzip,
    Deflate,
    Br,
    Unknown,
}

Variants§

§

Gzip

§

Deflate

§

Br

§

Unknown

Implementations§

Source§

impl Compress

Source

pub fn is_unknown(&self) -> bool

Checks if the current instance is of the Unknown type.

This method compares the current instance with the Unknown variant of the enum. It returns true if the instance is of type Unknown, otherwise false.

§Returns
  • true if the instance is of type Unknown.
  • false otherwise.
Source

pub fn from( header: &HashMap<String, String, BuildHasherDefault<Hasher>>, ) -> Compress

Extracts the compression type from an HTTP header.

This function looks for the Content-Encoding header in the provided Header and attempts to parse it into a Compress enum value.

§Arguments
  • header - The HTTP header from which the compression type is to be extracted.
§Returns
  • The Compress value corresponding to the Content-Encoding header, or Compress::Unknown if the header does not match any known compression types.
Source

pub fn decode<'a>(&self, data: &'a [u8], buffer_size: usize) -> Cow<'a, Vec<u8>>

Decompresses the given data based on the selected compression algorithm.

This method takes a byte slice of compressed data and decompresses it using one of the following compression algorithms, depending on the variant of the enum it is called on:

  • Gzip - Decompresses using Gzip compression.
  • Deflate - Decompresses using Deflate compression.
  • Br - Decompresses using Brotli compression.
  • Unknown - Returns the input data as-is (no decompression performed).
§Parameters
  • data - A reference to a byte slice (&[u8]) containing the compressed data to be decoded.
  • buffer_size - The buffer size to use for the decompression process. A larger buffer size can improve performance for larger datasets.
§Returns
  • Cow<Vec<u8>> - The decompressed data as a Cow<Vec<u8>>. If the compression algorithm is Unknown, the original data is returned unchanged, as a borrowed reference. Otherwise, the decompressed data is returned as an owned Vec<u8>.
Source

pub fn encode<'a>(&self, data: &'a [u8], buffer_size: usize) -> Cow<'a, Vec<u8>>

Compresses the given data based on the selected compression algorithm.

This method takes a byte slice of data and compresses it using one of the following compression algorithms, depending on the variant of the enum it is called on:

  • Gzip - Compresses using Gzip compression.
  • Deflate - Compresses using Deflate compression.
  • Br - Compresses using Brotli compression.
  • Unknown - Returns the input data as-is (no compression performed).
§Parameters
  • data - A reference to a byte slice (&[u8]) containing the data to be compressed.
  • buffer_size - The buffer size to use for the compression process. A larger buffer size can improve performance for larger datasets.
§Returns
  • Cow<Vec<u8>> - The compressed data as a Cow<Vec<u8>>. If the compression algorithm is Unknown, the original data is returned unchanged, as a borrowed reference. Otherwise, the compressed data is returned as an owned Vec<u8>.

Trait Implementations§

Source§

impl Debug for Compress

Source§

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

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

impl Default for Compress

Source§

fn default() -> Compress

Returns the “default value” for a type. Read more
Source§

impl Display for Compress

Source§

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

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

impl FromStr for Compress

Source§

type Err = ()

The associated error which can be returned from parsing.
Source§

fn from_str(data: &str) -> Result<Compress, <Compress as FromStr>::Err>

Parses a string s to return a value of this type. Read more
Source§

impl PartialEq for Compress

Source§

fn eq(&self, other: &Compress) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Compress

Source§

impl StructuralPartialEq for Compress

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> AnySend for T
where T: Any + Send,

Source§

impl<T> AnySendSync for T
where T: Any + Send + Sync,

Source§

impl<T> AnySync for T
where T: Any + Sync,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T