pub struct CompressionLayer { /* private fields */ }Expand description
This layer is a wrapper around [tower_http::compression::CompressionLayer] that integrates
with jsonrpsee’s HTTP types. It automatically compresses responses based on the client’s
Accept-Encoding header.
Implementations§
Source§impl CompressionLayer
impl CompressionLayer
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new compression layer with zstd, gzip, brotli and deflate enabled.
Responses are compressed at the fastest level, and only if they are at least 1 KiB.
Sourcepub fn with_algorithms(algos: &[impl AsRef<str>]) -> Self
pub fn with_algorithms(algos: &[impl AsRef<str>]) -> Self
Creates a compression layer allowing only the listed algorithms.
The client’s Accept-Encoding quality values determine selection among allowed algorithms;
ties use tower_http’s fixed zstd > br > gzip > deflate order. The order of algos is
ignored. Omitted quality values default to 1; if no allowed algorithm is acceptable, the
response is uncompressed.
Trait Implementations§
Source§impl Clone for CompressionLayer
impl Clone for CompressionLayer
Source§impl Default for CompressionLayer
impl Default for CompressionLayer
Source§fn default() -> Self
fn default() -> Self
Creates a new compression layer with default settings.
See CompressionLayer::new for details.
Auto Trait Implementations§
impl Freeze for CompressionLayer
impl RefUnwindSafe for CompressionLayer
impl Send for CompressionLayer
impl Sync for CompressionLayer
impl Unpin for CompressionLayer
impl UnsafeUnpin for CompressionLayer
impl UnwindSafe for CompressionLayer
Blanket Implementations§
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes