Struct tower_async_http::limit::RequestBodyLimit
source · pub struct RequestBodyLimit<S> { /* private fields */ }
Available on crate feature
limit
only.Expand description
Middleware that intercepts requests with body lengths greater than the
configured limit and converts them into 413 Payload Too Large
responses.
See the module docs for an example.
Implementations§
source§impl<S> RequestBodyLimit<S>
impl<S> RequestBodyLimit<S>
sourcepub fn new(inner: S, limit: usize) -> Self
pub fn new(inner: S, limit: usize) -> Self
Create a new RequestBodyLimit
with the given body length limit.
sourcepub fn into_inner(self) -> S
pub fn into_inner(self) -> S
Consumes self
, returning the underlying service.
sourcepub fn layer(limit: usize) -> RequestBodyLimitLayer
pub fn layer(limit: usize) -> RequestBodyLimitLayer
Returns a new Layer
that wraps services with a RequestBodyLimit
middleware.
Trait Implementations§
source§impl<S: Clone> Clone for RequestBodyLimit<S>
impl<S: Clone> Clone for RequestBodyLimit<S>
source§fn clone(&self) -> RequestBodyLimit<S>
fn clone(&self) -> RequestBodyLimit<S>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<S: Debug> Debug for RequestBodyLimit<S>
impl<S: Debug> Debug for RequestBodyLimit<S>
source§impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for RequestBodyLimit<S>where
ResBody: Body,
S: Service<Request<Limited<ReqBody>>, Response = Response<ResBody>>,
impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for RequestBodyLimit<S>where ResBody: Body, S: Service<Request<Limited<ReqBody>>, Response = Response<ResBody>>,
§type Response = Response<ResponseBody<ResBody>>
type Response = Response<ResponseBody<ResBody>>
Responses given by the service.
impl<S: Copy> Copy for RequestBodyLimit<S>
Auto Trait Implementations§
impl<S> RefUnwindSafe for RequestBodyLimit<S>where S: RefUnwindSafe,
impl<S> Send for RequestBodyLimit<S>where S: Send,
impl<S> Sync for RequestBodyLimit<S>where S: Sync,
impl<S> Unpin for RequestBodyLimit<S>where S: Unpin,
impl<S> UnwindSafe for RequestBodyLimit<S>where S: UnwindSafe,
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
Mutably borrows from an owned value. Read more
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, Request> ServiceExt<Request> for Twhere
T: Service<Request> + ?Sized,
impl<T, Request> ServiceExt<Request> for Twhere T: Service<Request> + ?Sized,
source§async fn oneshot(
self,
req: Request
) -> impl Future<Output = Result<Self::Response, Self::Error>>where
Self: Sized,
async fn oneshot( self, req: Request ) -> impl Future<Output = Result<Self::Response, Self::Error>>where Self: Sized,
Consume this
Service
, calling it with the provided request once and only once.source§fn and_then<F>(self, f: F) -> AndThen<Self, F>where
Self: Sized,
F: Clone,
fn and_then<F>(self, f: F) -> AndThen<Self, F>where Self: Sized, F: Clone,
Executes a new future after this service’s future resolves. Read more
source§fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>where
Self: Sized,
F: FnOnce(Self::Response) -> Response + Clone,
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>where Self: Sized, F: FnOnce(Self::Response) -> Response + Clone,
Maps this service’s response value to a different value. Read more
source§fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>where
Self: Sized,
F: FnOnce(Self::Error) -> Error + Clone,
fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>where Self: Sized, F: FnOnce(Self::Error) -> Error + Clone,
Maps this service’s error value to a different value. Read more
source§fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>where
Self: Sized,
Error: From<Self::Error>,
F: FnOnce(Result<Self::Response, Self::Error>) -> Result<Response, Error> + Clone,
fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>where Self: Sized, Error: From<Self::Error>, F: FnOnce(Result<Self::Response, Self::Error>) -> Result<Response, Error> + Clone,
Maps this service’s result type (
Result<Self::Response, Self::Error>
)
to a different value, regardless of whether the future succeeds or
fails. Read moresource§fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>where
Self: Sized,
F: FnMut(NewRequest) -> Request,
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>where Self: Sized, F: FnMut(NewRequest) -> Request,
Composes a function in front of the service. Read more