pub struct RequestDecompressionLayer { /* private fields */ }
Expand description
Decompresses request bodies and calls its underlying service.
Transparently decompresses request bodies based on the Content-Encoding
header.
When the encoding in the Content-Encoding
header is not accepted an Unsupported Media Type
status code will be returned with the accepted encodings in the Accept-Encoding
header.
Enabling pass-through of unaccepted encodings will not return an Unsupported Media Type
. But
will call the underlying service with the unmodified request if the encoding is not supported.
This is disabled by default.
See the module docs for more details.
Implementations§
Source§impl RequestDecompressionLayer
impl RequestDecompressionLayer
Sourcepub fn new() -> RequestDecompressionLayer
pub fn new() -> RequestDecompressionLayer
Creates a new RequestDecompressionLayer
.
Sourcepub fn gzip(self, enable: bool) -> RequestDecompressionLayer
pub fn gzip(self, enable: bool) -> RequestDecompressionLayer
Sets whether to support gzip encoding.
Sourcepub fn deflate(self, enable: bool) -> RequestDecompressionLayer
pub fn deflate(self, enable: bool) -> RequestDecompressionLayer
Sets whether to support Deflate encoding.
Sourcepub fn br(self, enable: bool) -> RequestDecompressionLayer
pub fn br(self, enable: bool) -> RequestDecompressionLayer
Sets whether to support Brotli encoding.
Sourcepub fn zstd(self, enable: bool) -> RequestDecompressionLayer
pub fn zstd(self, enable: bool) -> RequestDecompressionLayer
Sets whether to support Zstd encoding.
Sourcepub fn no_gzip(self) -> RequestDecompressionLayer
pub fn no_gzip(self) -> RequestDecompressionLayer
Disables support for gzip encoding.
This method is available even if the gzip
crate feature is disabled.
Sourcepub fn no_deflate(self) -> RequestDecompressionLayer
pub fn no_deflate(self) -> RequestDecompressionLayer
Disables support for Deflate encoding.
This method is available even if the deflate
crate feature is disabled.
Sourcepub fn no_br(self) -> RequestDecompressionLayer
pub fn no_br(self) -> RequestDecompressionLayer
Disables support for Brotli encoding.
This method is available even if the br
crate feature is disabled.
Sourcepub fn no_zstd(self) -> RequestDecompressionLayer
pub fn no_zstd(self) -> RequestDecompressionLayer
Disables support for Zstd encoding.
This method is available even if the zstd
crate feature is disabled.
Sourcepub fn pass_through_unaccepted(self, enable: bool) -> RequestDecompressionLayer
pub fn pass_through_unaccepted(self, enable: bool) -> RequestDecompressionLayer
Sets whether to pass through the request even when the encoding is not supported.
Trait Implementations§
Source§impl Clone for RequestDecompressionLayer
impl Clone for RequestDecompressionLayer
Source§fn clone(&self) -> RequestDecompressionLayer
fn clone(&self) -> RequestDecompressionLayer
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for RequestDecompressionLayer
impl Debug for RequestDecompressionLayer
Source§impl Default for RequestDecompressionLayer
impl Default for RequestDecompressionLayer
Source§fn default() -> RequestDecompressionLayer
fn default() -> RequestDecompressionLayer
Source§impl<S> Layer<S> for RequestDecompressionLayer
impl<S> Layer<S> for RequestDecompressionLayer
Source§type Service = RequestDecompression<S>
type Service = RequestDecompression<S>
Auto Trait Implementations§
impl Freeze for RequestDecompressionLayer
impl RefUnwindSafe for RequestDecompressionLayer
impl Send for RequestDecompressionLayer
impl Sync for RequestDecompressionLayer
impl Unpin for RequestDecompressionLayer
impl UnwindSafe for RequestDecompressionLayer
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>where
Self: Sized,
fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>where
Self: Sized,
Source§fn add_extension<T>(self, value: T) -> AddExtension<Self, T>where
Self: Sized,
fn add_extension<T>(self, value: T) -> AddExtension<Self, T>where
Self: Sized,
Source§fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>where
Self: Sized,
fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>where
Self: Sized,
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Source§fn compression(self) -> Compression<Self>where
Self: Sized,
fn compression(self) -> Compression<Self>where
Self: Sized,
Source§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
Source§fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
Source§fn sensitive_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>>where
Self: Sized,
fn sensitive_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>>where
Self: Sized,
Source§fn sensitive_request_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<Self>where
Self: Sized,
fn sensitive_request_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<Self>where
Self: Sized,
Source§fn sensitive_response_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveResponseHeaders<Self>where
Self: Sized,
fn sensitive_response_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveResponseHeaders<Self>where
Self: Sized,
Source§fn override_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn override_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
Source§fn append_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn append_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
Source§fn insert_request_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn insert_request_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
Source§fn override_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn override_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
Source§fn append_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn append_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
Source§fn insert_response_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn insert_response_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
Source§fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Source§fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
x-request-id
as the header name. Read moreSource§fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
Source§fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
x-request-id
as the header name. Read moreSource§fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
500 Internal Server
responses. Read moreSource§fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
413 Payload Too Large
responses. Read more