[][src]Trait actix_service::NewTransform

pub trait NewTransform<Service, Config = ()> {
    type Request;
    type Response;
    type Error;
    type Transform: Transform<Service, Request = Self::Request, Response = Self::Response, Error = Self::Error>;
    type InitError;
    type Future: Future<Item = Self::Transform, Error = Self::InitError>;
    fn new_transform(&self, cfg: &Config) -> Self::Future;

    fn map_err<F, E>(
        self,
        f: F
    ) -> TransformMapErrNewTransform<Self, Service, Config, F, E>
    where
        Self: Sized,
        F: Fn(Self::Error) -> E
, { ... }
fn map_init_err<F, E>(
        self,
        f: F
    ) -> TransformMapInitErr<Self, Service, Config, F, E>
    where
        Self: Sized,
        F: Fn(Self::InitError) -> E
, { ... } }

Transform service factory

Config is a service factory configuration type.

Associated Types

type Request

Requests handled by the service.

type Response

Responses given by the service.

type Error

Errors produced by the service.

type Transform: Transform<Service, Request = Self::Request, Response = Self::Response, Error = Self::Error>

The TransformService value created by this factory

type InitError

Errors produced while building a service.

type Future: Future<Item = Self::Transform, Error = Self::InitError>

The future response value.

Loading content...

Required methods

fn new_transform(&self, cfg: &Config) -> Self::Future

Create and return a new service value asynchronously.

Loading content...

Provided methods

fn map_err<F, E>(
    self,
    f: F
) -> TransformMapErrNewTransform<Self, Service, Config, F, E> where
    Self: Sized,
    F: Fn(Self::Error) -> E, 

Map this transforms's output to a different type, returning a new transform of the resulting type.

fn map_init_err<F, E>(
    self,
    f: F
) -> TransformMapInitErr<Self, Service, Config, F, E> where
    Self: Sized,
    F: Fn(Self::InitError) -> E, 

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

Loading content...

Implementations on Foreign Types

impl<S, C, T> NewTransform<S, C> for Rc<T> where
    T: NewTransform<S, C>, 
[src]

type Request = T::Request

type Response = T::Response

type Error = T::Error

type Transform = T::Transform

type InitError = T::InitError

type Future = T::Future

fn map_err<F, E>(
    self,
    f: F
) -> TransformMapErrNewTransform<Self, Service, Config, F, E> where
    Self: Sized,
    F: Fn(Self::Error) -> E, 
[src]

fn map_init_err<F, E>(
    self,
    f: F
) -> TransformMapInitErr<Self, Service, Config, F, E> where
    Self: Sized,
    F: Fn(Self::InitError) -> E, 
[src]

impl<S, C, T> NewTransform<S, C> for Arc<T> where
    T: NewTransform<S, C>, 
[src]

type Request = T::Request

type Response = T::Response

type Error = T::Error

type Transform = T::Transform

type InitError = T::InitError

type Future = T::Future

fn map_err<F, E>(
    self,
    f: F
) -> TransformMapErrNewTransform<Self, Service, Config, F, E> where
    Self: Sized,
    F: Fn(Self::Error) -> E, 
[src]

fn map_init_err<F, E>(
    self,
    f: F
) -> TransformMapInitErr<Self, Service, Config, F, E> where
    Self: Sized,
    F: Fn(Self::InitError) -> E, 
[src]

Loading content...

Implementors

impl<F, S, Req, Res, Err, Cfg> NewTransform<S, Cfg> for FnNewTransform<F, S, Req, Res, Err, Cfg> where
    F: FnMut(Req, &mut S) -> Res + Clone,
    Res: IntoFuture
[src]

type Request = Req

type Response = Res::Item

type Error = Res::Error

type Transform = FnTransform<F, S, Req, Res>

type InitError = Err

type Future = FutureResult<Self::Transform, Self::InitError>

fn map_err<F, E>(
    self,
    f: F
) -> TransformMapErrNewTransform<Self, Service, Config, F, E> where
    Self: Sized,
    F: Fn(Self::Error) -> E, 
[src]

fn map_init_err<F, E>(
    self,
    f: F
) -> TransformMapInitErr<Self, Service, Config, F, E> where
    Self: Sized,
    F: Fn(Self::InitError) -> E, 
[src]

Loading content...