Struct ntex_service::PipelineFactory
source · pub struct PipelineFactory<Req, T, C = ()> { /* private fields */ }Expand description
Pipeline factory
Implementations§
source§impl<Req, T: ServiceFactory<Req, C>, C> PipelineFactory<Req, T, C>
impl<Req, T: ServiceFactory<Req, C>, C> PipelineFactory<Req, T, C>
sourcepub fn and_then<F, U>(
self,
factory: F
) -> PipelineFactory<Req, AndThenFactory<T, U>, C>where
Self: Sized,
F: IntoServiceFactory<U, T::Response, C>,
U: ServiceFactory<T::Response, C, Error = T::Error, InitError = T::InitError>,
pub fn and_then<F, U>(
self,
factory: F
) -> PipelineFactory<Req, AndThenFactory<T, U>, C>where
Self: Sized,
F: IntoServiceFactory<U, T::Response, C>,
U: ServiceFactory<T::Response, C, Error = T::Error, InitError = T::InitError>,
Call another service after call to this one has resolved successfully.
sourcepub fn apply<U>(self, tr: U) -> PipelineFactory<Req, ApplyMiddleware<U, T, C>, C>where
U: Middleware<T::Service>,
pub fn apply<U>(self, tr: U) -> PipelineFactory<Req, ApplyMiddleware<U, T, C>, C>where
U: Middleware<T::Service>,
Apply middleware to current service factory.
Short version of apply(middleware, pipeline_factory(...))
sourcepub fn then<F, U>(self, factory: F) -> PipelineFactory<Req, ThenFactory<T, U>, C>where
Self: Sized,
C: Clone,
F: IntoServiceFactory<U, Result<T::Response, T::Error>, C>,
U: ServiceFactory<Result<T::Response, T::Error>, C, Error = T::Error, InitError = T::InitError>,
pub fn then<F, U>(self, factory: F) -> PipelineFactory<Req, ThenFactory<T, U>, C>where
Self: Sized,
C: Clone,
F: IntoServiceFactory<U, Result<T::Response, T::Error>, C>,
U: ServiceFactory<Result<T::Response, T::Error>, C, Error = T::Error, InitError = T::InitError>,
Create NewService to chain on a computation for when a call to the
service finished, passing the result of the call to the next
service U.
Note that this function consumes the receiving pipeline and returns a wrapped version of it.
sourcepub fn map<F, Res>(
self,
f: F
) -> PipelineFactory<Req, MapFactory<T, F, Req, Res, C>, C>where
Self: Sized,
F: Fn(T::Response) -> Res + Clone,
pub fn map<F, Res>(
self,
f: F
) -> PipelineFactory<Req, MapFactory<T, F, Req, Res, C>, C>where
Self: Sized,
F: Fn(T::Response) -> Res + Clone,
Map this service’s output to a different type, returning a new service of the resulting type.
sourcepub fn map_err<F, E>(
self,
f: F
) -> PipelineFactory<Req, MapErrFactory<T, Req, C, F, E>, C>where
Self: Sized,
F: Fn(T::Error) -> E + Clone,
pub fn map_err<F, E>(
self,
f: F
) -> PipelineFactory<Req, MapErrFactory<T, Req, C, F, E>, C>where
Self: Sized,
F: Fn(T::Error) -> E + Clone,
Map this service’s error to a different error, returning a new service.
sourcepub fn map_init_err<F, E>(
self,
f: F
) -> PipelineFactory<Req, MapInitErr<T, Req, C, F, E>, C>where
Self: Sized,
F: Fn(T::InitError) -> E + Clone,
pub fn map_init_err<F, E>(
self,
f: F
) -> PipelineFactory<Req, MapInitErr<T, Req, C, F, E>, C>where
Self: Sized,
F: Fn(T::InitError) -> E + Clone,
Map this factory’s init error to a different error, returning a new service.
Trait Implementations§
source§impl<Req, T, C> Clone for PipelineFactory<Req, T, C>where
T: Clone,
impl<Req, T, C> Clone for PipelineFactory<Req, T, C>where
T: Clone,
source§impl<Req, T: ServiceFactory<Req, C>, C> ServiceFactory<Req, C> for PipelineFactory<Req, T, C>
impl<Req, T: ServiceFactory<Req, C>, C> ServiceFactory<Req, C> for PipelineFactory<Req, T, C>
§type Response = <T as ServiceFactory<Req, C>>::Response
type Response = <T as ServiceFactory<Req, C>>::Response
Responses given by the created services.
§type Error = <T as ServiceFactory<Req, C>>::Error
type Error = <T as ServiceFactory<Req, C>>::Error
Errors produced by the created services.
§type Service = <T as ServiceFactory<Req, C>>::Service
type Service = <T as ServiceFactory<Req, C>>::Service
The kind of
Service created by this factory.§type InitError = <T as ServiceFactory<Req, C>>::InitError
type InitError = <T as ServiceFactory<Req, C>>::InitError
Errors potentially raised while building a service.
§type Future<'f>
where
Self: 'f = <T as ServiceFactory<Req, C>>::Future<'f>
type Future<'f>
where
Self: 'f = <T as ServiceFactory<Req, C>>::Future<'f>
The future of the
ServiceFactory instance.source§fn create(&self, cfg: C) -> Self::Future<'_>
fn create(&self, cfg: C) -> Self::Future<'_>
Create and return a new service value asynchronously.
source§fn map<F, Res>(self, f: F) -> MapFactory<Self, F, Req, Res, Cfg>where
Self: Sized,
F: Fn(Self::Response) -> Res + Clone,
fn map<F, Res>(self, f: F) -> MapFactory<Self, F, Req, Res, Cfg>where
Self: Sized,
F: Fn(Self::Response) -> Res + 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) -> MapErrFactory<Self, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::Error) -> E + Clone,
fn map_err<F, E>(self, f: F) -> MapErrFactory<Self, Req, Cfg, 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, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::InitError) -> E + Clone,
fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::InitError) -> E + Clone,
Map this factory’s init error to a different error, returning a new service.
Auto Trait Implementations§
impl<Req, T, C> RefUnwindSafe for PipelineFactory<Req, T, C>where
C: RefUnwindSafe,
Req: RefUnwindSafe,
T: RefUnwindSafe,
impl<Req, T, C> Send for PipelineFactory<Req, T, C>where
C: Send,
Req: Send,
T: Send,
impl<Req, T, C> Sync for PipelineFactory<Req, T, C>where
C: Sync,
Req: Sync,
T: Sync,
impl<Req, T, C> Unpin for PipelineFactory<Req, T, C>where
C: Unpin,
Req: Unpin,
T: Unpin,
impl<Req, T, C> UnwindSafe for PipelineFactory<Req, T, C>where
C: UnwindSafe,
Req: UnwindSafe,
T: UnwindSafe,
Blanket Implementations§
source§impl<T, Req, Cfg> IntoServiceFactory<T, Req, Cfg> for Twhere
T: ServiceFactory<Req, Cfg>,
impl<T, Req, Cfg> IntoServiceFactory<T, Req, Cfg> for Twhere
T: ServiceFactory<Req, Cfg>,
source§fn into_factory(self) -> T
fn into_factory(self) -> T
Convert
Self to a ServiceFactory