[][src]Struct requiem_http::h1::H1Service

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

ServiceFactory implementation for HTTP1 transport

Methods

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

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

Create openssl based service

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

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

Create rustls based service

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

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

Create simple tcp stream service

impl<T, S, B, X, U> H1Service<T, S, B, X, U> where
    S: ServiceFactory<Config = (), Request = Request>,
    S::Error: Into<Error>,
    S::Response: Into<Response<B>>,
    S::InitError: Debug,
    B: MessageBody
[src]

pub fn expect<X1>(self, expect: X1) -> H1Service<T, S, B, X1, U> where
    X1: ServiceFactory<Request = Request, Response = Request>,
    X1::Error: Into<Error>,
    X1::InitError: Debug
[src]

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

Trait Implementations

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

type Config = ()

Service factory configuration

type Request = (T, Option<SocketAddr>)

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 = H1ServiceHandler<T, S::Service, B, X::Service, U::Service>

The Service value created by this factory

type Future = H1ServiceResponse<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 H1Service<T, S, B, X, U>

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

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

impl<T, S, B, X, U> Unpin for H1Service<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 H1Service<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, 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>,