Skip to main content

ServiceFactoryExt

Trait ServiceFactoryExt 

Source
pub trait ServiceFactoryExt<Req>: ServiceFactory<Req> {
    // Provided methods
    fn map<F, R>(self, f: F) -> MapServiceFactory<Self, F, Req, R>
       where Self: Sized,
             F: FnMut(Self::Response) -> R + Clone { ... }
    fn map_err<F, E>(self, f: F) -> MapErrServiceFactory<Self, Req, F, E>
       where Self: Sized,
             F: Fn(Self::Error) -> E + Clone { ... }
    fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, F, Req, E>
       where Self: Sized,
             F: Fn(Self::InitError) -> E + Clone { ... }
    fn and_then<I, SF1>(
        self,
        factory: I,
    ) -> AndThenServiceFactory<Self, SF1, Req>
       where Self: Sized,
             Self::Config: Clone,
             I: IntoServiceFactory<SF1, Self::Response>,
             SF1: ServiceFactory<Self::Response, Config = Self::Config, Error = Self::Error, InitError = Self::InitError> { ... }
}
Expand description

An extension trait for ServiceFactorys that provides a variety of convenient adapters.

Provided Methods§

Source

fn map<F, R>(self, f: F) -> MapServiceFactory<Self, F, Req, R>
where Self: Sized, F: FnMut(Self::Response) -> R + Clone,

Map this service’s output to a different type, returning a new service of the resulting type.

Source

fn map_err<F, E>(self, f: F) -> MapErrServiceFactory<Self, Req, F, E>
where Self: Sized, F: Fn(Self::Error) -> E + Clone,

Map this service’s error to a different error, returning a new service.

Source

fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, F, Req, E>
where Self: Sized, F: Fn(Self::InitError) -> E + Clone,

Map this factory’s init error to a different error, returning a new service.

Source

fn and_then<I, SF1>(self, factory: I) -> AndThenServiceFactory<Self, SF1, Req>
where Self: Sized, Self::Config: Clone, I: IntoServiceFactory<SF1, Self::Response>, SF1: ServiceFactory<Self::Response, Config = Self::Config, Error = Self::Error, InitError = Self::InitError>,

Call another service after call to this one has resolved successfully.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<SF, Req> ServiceFactoryExt<Req> for SF
where SF: ServiceFactory<Req>,