[][src]Struct actix_http::HttpService

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

A ServiceFactory for HTTP/1.1 or HTTP/2 protocol.

Implementations

impl<S, B, X, U> HttpService<SslStream<TcpStream>, S, B, X, U> where
    S: ServiceFactory<Config = (), Request = Request>,
    S::Error: Into<Error> + 'static,
    S::InitError: Debug,
    S::Response: Into<Response<B>> + 'static,
    <S::Service as Service>::Future: 'static,
    B: MessageBody + 'static,
    X: ServiceFactory<Config = (), Request = Request, Response = Request>,
    X::Error: Into<Error>,
    X::InitError: Debug,
    <X::Service as Service>::Future: 'static,
    U: ServiceFactory<Config = (), Request = (Request, Framed<SslStream<TcpStream>, Codec>), Response = ()>,
    U::Error: Display + Into<Error>,
    U::InitError: Debug,
    <U::Service as Service>::Future: 'static, 
[src]

pub fn openssl(
    self,
    acceptor: SslAcceptor
) -> impl ServiceFactory<Config = (), Request = TcpStream, Response = (), Error = TlsError<HandshakeError<TcpStream>, DispatchError>, InitError = ()>
[src]

Create openssl based service

impl<S, B, X, U> HttpService<TlsStream<TcpStream>, S, B, X, U> where
    S: ServiceFactory<Config = (), Request = Request>,
    S::Error: Into<Error> + 'static,
    S::InitError: Debug,
    S::Response: Into<Response<B>> + 'static,
    <S::Service as Service>::Future: 'static,
    B: MessageBody + 'static,
    X: ServiceFactory<Config = (), Request = Request, Response = Request>,
    X::Error: Into<Error>,
    X::InitError: Debug,
    <X::Service as Service>::Future: 'static,
    U: ServiceFactory<Config = (), Request = (Request, Framed<TlsStream<TcpStream>, Codec>), Response = ()>,
    U::Error: Display + Into<Error>,
    U::InitError: Debug,
    <U::Service as Service>::Future: 'static, 
[src]

pub fn rustls(
    self,
    config: ServerConfig
) -> impl ServiceFactory<Config = (), Request = TcpStream, Response = (), Error = TlsError<Error, DispatchError>, InitError = ()>
[src]

Create openssl based service

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

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

Create builder for HttpService instance.

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

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

Create new HttpService instance.

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

pub fn expect<X1>(self, expect: X1) -> HttpService<T, S, B, X1, U> where
    X1: ServiceFactory<Config = (), Request = Request, Response = Request>,
    X1::Error: Into<Error>,
    X1::InitError: Debug,
    <X1::Service as Service>::Future: 'static, 
[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, S, B, X, U1> where
    U1: ServiceFactory<Config = (), Request = (Request, Framed<T, Codec>), Response = ()>,
    U1::Error: Display,
    U1::InitError: Debug,
    <U1::Service as Service>::Future: 'static, 
[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.

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

pub fn tcp(
    self
) -> impl ServiceFactory<Config = (), Request = TcpStream, Response = (), Error = DispatchError, InitError = ()>
[src]

Create simple tcp stream service

Trait Implementations

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

type Config = ()

Service factory configuration.

type Request = (T, Protocol, Option<SocketAddr>)

Requests handled by the created services.

type Response = ()

Responses given by the created services.

type Error = DispatchError

Errors produced by the created services.

type InitError = ()

Errors potentially raised while building a service.

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

The kind of Service created by this factory.

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

The future of the Service instance.

Auto Trait Implementations

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

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

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

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

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

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

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

impl<T> IntoServiceFactory<T> for T where
    T: ServiceFactory
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

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<V, T> VZip<V> for T where
    V: MultiLane<T>,