pub struct ResourceCatchError<S> { /* private fields */ }Expand description
Catches errors from the inner service and converts them to error results.
This wrapper ensures that middleware errors (e.g., timeouts, rate limits)
and handler errors are converted to Err(Error) responses wrapped in
Ok, rather than propagating as Tower service errors.
Implementations§
Source§impl<S> ResourceCatchError<S>
impl<S> ResourceCatchError<S>
Trait Implementations§
Source§impl<S: Clone> Clone for ResourceCatchError<S>
impl<S: Clone> Clone for ResourceCatchError<S>
Source§impl<S: Debug> Debug for ResourceCatchError<S>
impl<S: Debug> Debug for ResourceCatchError<S>
Source§impl<S> Service<ResourceRequest> for ResourceCatchError<S>where
S: Service<ResourceRequest, Response = ReadResourceResult> + Clone + Send + 'static,
S::Error: Display + Send,
S::Future: Send,
impl<S> Service<ResourceRequest> for ResourceCatchError<S>where
S: Service<ResourceRequest, Response = ReadResourceResult> + Clone + Send + 'static,
S::Error: Display + Send,
S::Future: Send,
Source§type Response = ReadResourceResult
type Response = ReadResourceResult
Responses given by the service.
Source§type Error = Infallible
type Error = Infallible
Errors produced by the service.
Source§type Future = Pin<Box<dyn Future<Output = Result<ReadResourceResult, Infallible>> + Send>>
type Future = Pin<Box<dyn Future<Output = Result<ReadResourceResult, Infallible>> + Send>>
The future response value.
Auto Trait Implementations§
impl<S> Freeze for ResourceCatchError<S>where
S: Freeze,
impl<S> RefUnwindSafe for ResourceCatchError<S>where
S: RefUnwindSafe,
impl<S> Send for ResourceCatchError<S>where
S: Send,
impl<S> Sync for ResourceCatchError<S>where
S: Sync,
impl<S> Unpin for ResourceCatchError<S>where
S: Unpin,
impl<S> UnwindSafe for ResourceCatchError<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> 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, Request> ServiceExt<Request> for T
impl<T, Request> ServiceExt<Request> for T
Source§fn ready(&mut self) -> Ready<'_, Self, Request>where
Self: Sized,
fn ready(&mut self) -> Ready<'_, Self, Request>where
Self: Sized,
Yields a mutable reference to the service when it is ready to accept a request.
Source§fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
Self: Sized,
fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
Self: Sized,
Yields the service when it is ready to accept a request.
Source§fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
Self: Sized,
fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
Self: Sized,
Consume this
Service, calling it with the provided request once it is ready.Source§fn and_then<F>(self, f: F) -> AndThen<Self, F>
fn and_then<F>(self, f: F) -> AndThen<Self, F>
Executes a new future after this service’s future resolves. This does
not alter the behaviour of the
poll_ready method. Read moreSource§fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>
Maps this service’s response value to a different value. This does not
alter the behaviour of the
poll_ready method. Read moreSource§fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>
fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>
Maps this service’s error value to a different value. This does not
alter the behaviour of the
poll_ready method. Read moreSource§fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>
fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>
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>
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>
Composes a function in front of the service. Read more
Source§fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>
fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>
Composes an asynchronous function after this service. Read more
Source§fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>
fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>
Composes a function that transforms futures produced by the service. Read more