Struct axum::error_handling::HandleError
source ·
[−]pub struct HandleError<S, F, T> { /* private fields */ }
Expand description
A Service
adapter that handles errors by converting them into responses.
See module docs for more details on axum’s error handling model.
Implementations
Trait Implementations
impl<S, F, ReqBody, ResBody, Fut, Res> Service<Request<ReqBody>> for HandleError<S, F, ()> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Fut, Res> Service<Request<ReqBody>> for HandleError<S, F, ()> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1> Service<Request<ReqBody>> for HandleError<S, F, (T1,)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1> Service<Request<ReqBody>> for HandleError<S, F, (T1,)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
T12: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
T12: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
T12: FromRequest<ReqBody> + Send,
T13: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
T12: FromRequest<ReqBody> + Send,
T13: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
T12: FromRequest<ReqBody> + Send,
T13: FromRequest<ReqBody> + Send,
T14: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
T12: FromRequest<ReqBody> + Send,
T13: FromRequest<ReqBody> + Send,
T14: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
T12: FromRequest<ReqBody> + Send,
T13: FromRequest<ReqBody> + Send,
T14: FromRequest<ReqBody> + Send,
T15: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
T12: FromRequest<ReqBody> + Send,
T13: FromRequest<ReqBody> + Send,
T14: FromRequest<ReqBody> + Send,
T15: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
T12: FromRequest<ReqBody> + Send,
T13: FromRequest<ReqBody> + Send,
T14: FromRequest<ReqBody> + Send,
T15: FromRequest<ReqBody> + Send,
T16: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
T10: FromRequest<ReqBody> + Send,
T11: FromRequest<ReqBody> + Send,
T12: FromRequest<ReqBody> + Send,
T13: FromRequest<ReqBody> + Send,
T14: FromRequest<ReqBody> + Send,
T15: FromRequest<ReqBody> + Send,
T16: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
impl<S, F, ReqBody, ResBody, Res, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9> Service<Request<ReqBody>> for HandleError<S, F, (T1, T2, T3, T4, T5, T6, T7, T8, T9)> where
S: Service<Request<ReqBody>, Response = Response<ResBody>> + Clone + Send + 'static,
S::Error: Send,
S::Future: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, S::Error) -> Fut + Clone + Send + 'static,
Fut: Future<Output = Res> + Send,
Res: IntoResponse,
T1: FromRequest<ReqBody> + Send,
T2: FromRequest<ReqBody> + Send,
T3: FromRequest<ReqBody> + Send,
T4: FromRequest<ReqBody> + Send,
T5: FromRequest<ReqBody> + Send,
T6: FromRequest<ReqBody> + Send,
T7: FromRequest<ReqBody> + Send,
T8: FromRequest<ReqBody> + Send,
T9: FromRequest<ReqBody> + Send,
ReqBody: Send + 'static,
ResBody: HttpBody<Data = Bytes> + Send + 'static,
ResBody::Error: Into<BoxError>,
type Error = Infallible
type Error = Infallible
Errors produced by the service.
type Future = HandleErrorFuture
type Future = HandleErrorFuture
The future response value.
Returns Poll::Ready(Ok(()))
when the service is able to process requests. Read more
Auto Trait Implementations
impl<S, F, T> RefUnwindSafe for HandleError<S, F, T> where
F: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, F, T> Send for HandleError<S, F, T> where
F: Send,
S: Send,
impl<S, F, T> Sync for HandleError<S, F, T> where
F: Sync,
S: Sync,
impl<S, F, T> Unpin for HandleError<S, F, T> where
F: Unpin,
S: Unpin,
impl<S, F, T> UnwindSafe for HandleError<S, F, T> where
F: UnwindSafe,
S: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<M, S, Target, Request> MakeService<Target, Request> for M where
M: Service<Target, Response = S>,
S: Service<Request>,
impl<M, S, Target, Request> MakeService<Target, Request> for M where
M: Service<Target, Response = S>,
S: Service<Request>,
pub fn poll_ready(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), <M as MakeService<Target, Request>>::MakeError>>
pub fn poll_ready(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), <M as MakeService<Target, Request>>::MakeError>>
Returns Poll::Ready
when the factory is able to create more services. Read more
pub fn make_service(
&mut self,
target: Target
) -> <M as MakeService<Target, Request>>::Future
pub fn make_service(
&mut self,
target: Target
) -> <M as MakeService<Target, Request>>::Future
Create and return a new service value asynchronously.
Consume this MakeService
and convert it into a Service
. Read more
Convert this MakeService
into a Service
without consuming the original MakeService
. Read more
Create a new Policy
that returns Action::Follow
only if self
and other
return
Action::Follow
. Read more
Yields a mutable reference to the service when it is ready to accept a request.
please use the ServiceExt::ready
method instead
Yields a mutable reference to the service when it is ready to accept a request.
Yields the service when it is ready to accept a request.
Consume this Service
, calling with the providing request once it is ready.
Executes a new future after this service’s future resolves. This does
not alter the behaviour of the poll_ready
method. Read more
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F> where
F: FnOnce(Self::Response) -> Response + Clone,
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F> where
F: FnOnce(Self::Response) -> Response + Clone,
Maps this service’s response value to a different value. This does not
alter the behaviour of the poll_ready
method. Read more
Maps this service’s error value to a different value. This does not
alter the behaviour of the poll_ready
method. Read more
Maps this service’s result type (Result<Self::Response, Self::Error>
)
to a different value, regardless of whether the future succeeds or
fails. Read more
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F> where
F: FnMut(NewRequest) -> Request,
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F> where
F: FnMut(NewRequest) -> Request,
Composes a function in front of the service. Read more
fn filter_async<F, NewRequest>(self, filter: F) -> AsyncFilter<Self, F> where
F: AsyncPredicate<NewRequest>,
fn filter_async<F, NewRequest>(self, filter: F) -> AsyncFilter<Self, F> where
F: AsyncPredicate<NewRequest>,
Composes this service with an AsyncFilter
that conditionally accepts or
rejects requests based on an [async predicate]. Read more
Composes an asynchronous function after this service. Read more
Composes a function that transforms futures produced by the service. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more