[][src]Struct actix_http::HttpService

pub struct HttpService<T, P, S, B, X = ExpectHandler, U = UpgradeHandler<T>> { /* fields omitted */ }

NewService HTTP1.1/HTTP2 transport implementation

Methods

impl<T, S, B> HttpService<T, (), S, B> where
    S: NewService<Config = SrvConfig, Request = Request>,
    S::Error: Into<Error>,
    S::InitError: Debug,
    S::Response: Into<Response<B>>,
    <S::Service as Service>::Future: 'static,
    B: MessageBody + 'static, 
[src]

pub fn build() -> HttpServiceBuilder<T, S>[src]

Create builder for HttpService instance.

impl<T, P, S, B> HttpService<T, P, S, B> where
    S: NewService<Config = SrvConfig, Request = Request>,
    S::Error: Into<Error>,
    S::InitError: Debug,
    S::Response: Into<Response<B>>,
    <S::Service as Service>::Future: 'static,
    B: MessageBody + 'static, 
[src]

pub fn new<F: IntoNewService<S>>(service: F) -> Self[src]

Create new HttpService instance.

impl<T, P, S, B, X, U> HttpService<T, P, S, B, X, U> where
    S: NewService<Config = SrvConfig, Request = Request>,
    S::Error: Into<Error>,
    S::InitError: Debug,
    S::Response: Into<Response<B>>,
    B: MessageBody
[src]

pub fn expect<X1>(self, expect: X1) -> HttpService<T, P, S, B, X1, U> where
    X1: NewService<Config = SrvConfig, Request = Request, Response = Request>,
    X1::Error: Into<Error>,
    X1::InitError: Debug
[src]

Provide service for EXPECT: 100-Continue support.

Service get called with request that contains EXPECT header. Service must return request in case of success, in that case request will be forwarded to main service.

pub fn upgrade<U1>(self, upgrade: Option<U1>) -> HttpService<T, P, S, B, X, U1> where
    U1: NewService<Config = SrvConfig, Request = (Request, Framed<T, Codec>), Response = ()>,
    U1::Error: Display,
    U1::InitError: Debug
[src]

Provide service for custom Connection: UPGRADE support.

If service is provided then normal requests handling get halted and this service get called with original request and framed object.

Trait Implementations

impl<T, P, S, B, X, U> NewService for HttpService<T, P, S, B, X, U> where
    T: IoStream,
    S: NewService<Config = SrvConfig, Request = Request>,
    S::Error: Into<Error>,
    S::InitError: Debug,
    S::Response: Into<Response<B>>,
    <S::Service as Service>::Future: 'static,
    B: MessageBody + 'static,
    X: NewService<Config = SrvConfig, Request = Request, Response = Request>,
    X::Error: Into<Error>,
    X::InitError: Debug,
    U: NewService<Config = SrvConfig, Request = (Request, Framed<T, Codec>), Response = ()>,
    U::Error: Display,
    U::InitError: Debug
[src]

type Config = SrvConfig

Service factory configuration

type Request = ServerIo<T, P>

Requests handled by the service.

type Response = ()

Responses given by the service

type Error = DispatchError

Errors produced by the service

type InitError = ()

Errors produced while building a service.

type Service = HttpServiceHandler<T, P, S::Service, B, X::Service, U::Service>

The Service value created by this factory

type Future = HttpServiceResponse<T, P, S, B, X, U>

The future of the Service instance.

fn apply<T, T1, B, B1>(
    self,
    transform: T1,
    service: B1
) -> AndThenTransform<T, Self, B> where
    B: NewService<Config = Self::Config, InitError = Self::InitError>,
    B1: IntoNewService<B>,
    T: Transform<<B as NewService>::Service, Request = Self::Response, InitError = Self::InitError>,
    T1: IntoTransform<T, <B as NewService>::Service>,
    <T as Transform<<B as NewService>::Service>>::Error: From<Self::Error>, 
[src]

Apply transform service to specified service and use it as a next service in chain. Read more

fn apply_fn<B, I, F, Out>(
    self,
    service: I,
    f: F
) -> AndThenApplyNewService<Self, B, F, Out> where
    B: NewService<Config = Self::Config, Error = Self::Error, InitError = Self::InitError>,
    F: FnMut(Self::Response, &mut <B as NewService>::Service) -> Out,
    I: IntoNewService<B>,
    Out: IntoFuture,
    <Out as IntoFuture>::Error: Into<Self::Error>, 
[src]

Apply function to specified service and use it as a next service in chain. Read more

fn and_then<F, B>(self, new_service: F) -> AndThenNewService<Self, B> where
    B: NewService<Config = Self::Config, Request = Self::Response, Error = Self::Error, InitError = Self::InitError>,
    F: IntoNewService<B>, 
[src]

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

fn from_err<E>(self) -> FromErrNewService<Self, E> where
    E: From<Self::Error>, 
[src]

NewService that create service to map this service's error and new service's init error to any error implementing From for this services Error`. Read more

fn then<F, B>(self, new_service: F) -> ThenNewService<Self, B> where
    B: NewService<Config = Self::Config, Request = Result<Self::Response, Self::Error>, Error = Self::Error, InitError = Self::InitError>,
    F: IntoNewService<B>, 
[src]

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 B. Read more

fn map<F, R>(self, f: F) -> MapNewService<Self, F, R> where
    F: FnMut(Self::Response) -> R, 
[src]

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

fn map_err<F, E>(self, f: F) -> MapErrNewService<Self, F, E> where
    F: Fn(Self::Error) -> E + Clone
[src]

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

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

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

fn map_config<F, C>(self, f: F) -> MapConfig<Self, F, C> where
    F: Fn(&C) -> MappedConfig<Self::Config>, 
[src]

Map config to a different error, returning a new service.

fn unit_config<C>(self) -> UnitConfig<Self, C> where
    Self: NewService<Config = ()>, 
[src]

Replace config with unit

Auto Trait Implementations

impl<T, P, S, B, X = ExpectHandler, U = UpgradeHandler<T>> !Sync for HttpService<T, P, S, B, X, U>

impl<T, P, S, B, X = ExpectHandler, U = UpgradeHandler<T>> !Send for HttpService<T, P, S, B, X, U>

impl<T, P, S, B, X, U> Unpin for HttpService<T, P, S, B, X, U> where
    B: Unpin,
    P: Unpin,
    S: Unpin,
    T: Unpin,
    U: Unpin,
    X: Unpin

impl<T, P, S, B, X = ExpectHandler, U = UpgradeHandler<T>> !RefUnwindSafe for HttpService<T, P, S, B, X, U>

impl<T, P, S, B, X = ExpectHandler, U = UpgradeHandler<T>> !UnwindSafe for HttpService<T, P, S, B, X, U>

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T

impl<T> IntoNewService<T> for T where
    T: NewService
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,