Struct CompressionLayer
pub struct CompressionLayer<P = DefaultPredicate> { /* private fields */ }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§
§impl CompressionLayer
impl CompressionLayer
pub fn new() -> CompressionLayer
pub fn new() -> CompressionLayer
Creates a new CompressionLayer.
pub 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.
§impl<P> CompressionLayer<P>
impl<P> CompressionLayer<P>
pub fn with_gzip(self, enable: bool) -> CompressionLayer<P>
pub fn with_gzip(self, enable: bool) -> CompressionLayer<P>
Sets whether to enable the gzip encoding.
pub fn set_gzip(&mut self, enable: bool) -> &mut CompressionLayer<P>
pub fn set_gzip(&mut self, enable: bool) -> &mut CompressionLayer<P>
Sets whether to enable the gzip encoding.
pub fn with_deflate(self, enable: bool) -> CompressionLayer<P>
pub fn with_deflate(self, enable: bool) -> CompressionLayer<P>
Sets whether to enable the Deflate encoding.
pub fn set_deflate(&mut self, enable: bool) -> &mut CompressionLayer<P>
pub fn set_deflate(&mut self, enable: bool) -> &mut CompressionLayer<P>
Sets whether to enable the Deflate encoding.
pub fn with_br(self, enable: bool) -> CompressionLayer<P>
pub fn with_br(self, enable: bool) -> CompressionLayer<P>
Sets whether to enable the Brotli encoding.
pub fn set_br(&mut self, enable: bool) -> &mut CompressionLayer<P>
pub fn set_br(&mut self, enable: bool) -> &mut CompressionLayer<P>
Sets whether to enable the Brotli encoding.
pub fn with_zstd(self, enable: bool) -> CompressionLayer<P>
pub fn with_zstd(self, enable: bool) -> CompressionLayer<P>
Sets whether to enable the Zstd encoding.
pub fn set_zstd(&mut self, enable: bool) -> &mut CompressionLayer<P>
pub fn set_zstd(&mut self, enable: bool) -> &mut CompressionLayer<P>
Sets whether to enable the Zstd encoding.
pub fn with_quality(self, quality: CompressionLevel) -> CompressionLayer<P>
pub fn with_quality(self, quality: CompressionLevel) -> CompressionLayer<P>
Sets the compression quality.
pub fn set_quality(
&mut self,
quality: CompressionLevel,
) -> &mut CompressionLayer<P>
pub fn set_quality( &mut self, quality: CompressionLevel, ) -> &mut CompressionLayer<P>
Sets the compression quality.
pub fn with_respect_content_encoding_if_possible(self) -> CompressionLayer<P>
pub fn with_respect_content_encoding_if_possible(self) -> CompressionLayer<P>
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.
pub fn set_respect_content_encoding_if_possible(
&mut self,
) -> &mut CompressionLayer<P>
pub fn set_respect_content_encoding_if_possible( &mut self, ) -> &mut CompressionLayer<P>
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.
Trait Implementations§
§impl<P> Clone for CompressionLayer<P>where
P: Clone,
impl<P> Clone for CompressionLayer<P>where
P: Clone,
§fn clone(&self) -> CompressionLayer<P>
fn clone(&self) -> CompressionLayer<P>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl<P> Debug for CompressionLayer<P>where
P: Debug,
impl<P> Debug for CompressionLayer<P>where
P: Debug,
§impl<P> Default for CompressionLayer<P>where
P: Default,
impl<P> Default for CompressionLayer<P>where
P: Default,
§fn default() -> CompressionLayer<P>
fn default() -> CompressionLayer<P>
§impl<S, P> Layer<S> for CompressionLayer<P>where
P: Predicate,
impl<S, P> Layer<S> for CompressionLayer<P>where
P: Predicate,
§type Service = Compression<S, P>
type Service = Compression<S, P>
§fn layer(&self, inner: S) -> <CompressionLayer<P> as Layer<S>>::Service
fn layer(&self, inner: S) -> <CompressionLayer<P> as Layer<S>>::Service
§fn into_layer(self, inner: S) -> <CompressionLayer<P> as Layer<S>>::Service
fn into_layer(self, inner: S) -> <CompressionLayer<P> as Layer<S>>::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> UnwindSafe for CompressionLayer<P>where
P: UnwindSafe,
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more