pub struct CompressionLayer<P = DefaultPredicate> { /* private fields */ }compression only.Expand description
Compress response bodies of the underlying service.
This uses the Accept-Encoding header to pick an appropriate encoding and adds the
Content-Encoding header to responses.
See the module docs for more details.
Implementations§
Source§impl CompressionLayer
impl CompressionLayer
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new CompressionLayer.
Sourcepub fn with_compress_predicate<C>(self, predicate: C) -> CompressionLayer<C>where
C: Predicate,
pub fn with_compress_predicate<C>(self, predicate: C) -> CompressionLayer<C>where
C: Predicate,
Replace the current compression predicate.
Source§impl<P> CompressionLayer<P>
impl<P> CompressionLayer<P>
Sourcepub fn set_gzip(&mut self, enable: bool) -> &mut Self
pub fn set_gzip(&mut self, enable: bool) -> &mut Self
Sets whether to enable the gzip encoding.
Sourcepub fn with_deflate(self, enable: bool) -> Self
pub fn with_deflate(self, enable: bool) -> Self
Sets whether to enable the Deflate encoding.
Sourcepub fn set_deflate(&mut self, enable: bool) -> &mut Self
pub fn set_deflate(&mut self, enable: bool) -> &mut Self
Sets whether to enable the Deflate encoding.
Sourcepub fn set_br(&mut self, enable: bool) -> &mut Self
pub fn set_br(&mut self, enable: bool) -> &mut Self
Sets whether to enable the Brotli encoding.
Sourcepub fn set_zstd(&mut self, enable: bool) -> &mut Self
pub fn set_zstd(&mut self, enable: bool) -> &mut Self
Sets whether to enable the Zstd encoding.
Sourcepub fn with_quality(self, quality: CompressionLevel) -> Self
pub fn with_quality(self, quality: CompressionLevel) -> Self
Sets the compression quality.
Sourcepub fn set_quality(&mut self, quality: CompressionLevel) -> &mut Self
pub fn set_quality(&mut self, quality: CompressionLevel) -> &mut Self
Sets the compression quality.
Sourcepub fn with_respect_content_encoding_if_possible(self) -> Self
pub fn with_respect_content_encoding_if_possible(self) -> Self
Allow responses with content-encoding.
Useful in case your stack uses that response header as preference. Not something you want for regular servers or proxies however, or most use cases for that matter.
Sourcepub fn set_respect_content_encoding_if_possible(&mut self) -> &mut Self
pub fn set_respect_content_encoding_if_possible(&mut self) -> &mut Self
Allow responses with content-encoding.
Useful in case your stack uses that response header as preference. Not something you want for regular servers or proxies however, or most use cases for that matter.
Sourcepub fn with_enforce_not_acceptable(self, enable: bool) -> Self
pub fn with_enforce_not_acceptable(self, enable: bool) -> Self
Sets whether to respond with 406 Not Acceptable when the client’s
Accept-Encoding header rejects every available representation
(e.g. *;q=0 or a lone identity;q=0), as recommended by RFC 9110 §12.5.3.
Enabled by default. Disable to opt out and instead fall back to sending an uncompressed (identity) response regardless of the client’s stated preference.
Sourcepub fn set_enforce_not_acceptable(&mut self, enable: bool) -> &mut Self
pub fn set_enforce_not_acceptable(&mut self, enable: bool) -> &mut Self
Sets whether to respond with 406 Not Acceptable when the client’s
Accept-Encoding header rejects every available representation
(e.g. *;q=0 or a lone identity;q=0), as recommended by RFC 9110 §12.5.3.
Enabled by default. Disable to opt out and instead fall back to sending an uncompressed (identity) response regardless of the client’s stated preference.
Trait Implementations§
Source§impl<P: Clone> Clone for CompressionLayer<P>
impl<P: Clone> Clone for CompressionLayer<P>
Source§fn clone(&self) -> CompressionLayer<P>
fn clone(&self) -> CompressionLayer<P>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<P: Debug> Debug for CompressionLayer<P>
impl<P: Debug> Debug for CompressionLayer<P>
Source§impl<P: Default> Default for CompressionLayer<P>
impl<P: Default> Default for CompressionLayer<P>
Source§impl<S, P> Layer<S> for CompressionLayer<P>where
P: Predicate,
impl<S, P> Layer<S> for CompressionLayer<P>where
P: Predicate,
Source§type Service = Compression<S, P>
type Service = Compression<S, P>
Source§fn layer(&self, inner: S) -> Self::Service
fn layer(&self, inner: S) -> Self::Service
Source§fn into_layer(self, inner: S) -> Self::Service
fn into_layer(self, inner: S) -> Self::Service
layer but consuming self after the service was created. Read moreAuto Trait Implementations§
impl<P> Freeze for CompressionLayer<P>where
P: Freeze,
impl<P> RefUnwindSafe for CompressionLayer<P>where
P: RefUnwindSafe,
impl<P> Send for CompressionLayer<P>where
P: Send,
impl<P> Sync for CompressionLayer<P>where
P: Sync,
impl<P> Unpin for CompressionLayer<P>where
P: Unpin,
impl<P> UnsafeUnpin for CompressionLayer<P>where
P: UnsafeUnpin,
impl<P> UnwindSafe for CompressionLayer<P>where
P: UnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more