pub trait ServiceExt<R>: Sized + Service<R> {
    // Required methods
    fn into_make_service(self) -> IntoMakeService<Self>;
    fn into_make_service_with_connect_info<C>(
        self
    ) -> IntoMakeServiceWithConnectInfo<Self, C>;

    // Provided method
    fn handle_error<F, T>(self, f: F) -> HandleError<Self, F, T> { ... }
}
Expand description

Extension trait that adds additional methods to any Service.

Required Methods§

fn into_make_service(self) -> IntoMakeService<Self>

Convert this service into a MakeService, that is a Service whose response is another service.

This is commonly used when applying middleware around an entire Router. See “Rewriting request URI in middleware” for more details.

fn into_make_service_with_connect_info<C>( self ) -> IntoMakeServiceWithConnectInfo<Self, C>

Convert this service into a MakeService, that will store C’s associated ConnectInfo in a request extension such that ConnectInfo can extract it.

This enables extracting things like the client’s remote address. This is commonly used when applying middleware around an entire Router. See “Rewriting request URI in middleware” for more details.

Provided Methods§

fn handle_error<F, T>(self, f: F) -> HandleError<Self, F, T>

Convert this service into a HandleError, that will handle errors by converting them into responses.

See “error handling model” for more details.

Object Safety§

This trait is not object safe.

Implementors§

§

impl<S, R> ServiceExt<R> for S
where S: Service<R>,