Struct ntex::http::h1::H1Service[][src]

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

ServiceFactory implementation for HTTP1 transport

Implementations

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

pub fn openssl(
    self,
    acceptor: SslAcceptor
) -> impl ServiceFactory<Config = (), Request = TcpStream, Response = (), Error = SslError<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: ResponseError + 'static,
    S::InitError: Debug,
    S::Response: Into<Response<B>>,
    S::Future: 'static,
    B: MessageBody,
    X: ServiceFactory<Config = (), Request = Request, Response = Request>,
    X::Error: ResponseError + 'static,
    X::InitError: Debug,
    X::Future: 'static,
    U: ServiceFactory<Config = (), Request = (Request, TlsStream<TcpStream>, IoState, Codec), Response = ()>,
    U::Error: Display + Error + 'static,
    U::InitError: Debug,
    U::Future: 'static, 
[src]

pub fn rustls(
    self,
    config: ServerConfig
) -> impl ServiceFactory<Config = (), Request = TcpStream, Response = (), Error = SslError<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: ResponseError + 'static,
    S::InitError: Debug,
    S::Response: Into<Response<B>>,
    S::Future: 'static,
    B: MessageBody,
    X: ServiceFactory<Config = (), Request = Request, Response = Request>,
    X::Error: ResponseError + 'static,
    X::InitError: Debug,
    X::Future: 'static,
    U: ServiceFactory<Config = (), Request = (Request, TcpStream, IoState, Codec), Response = ()>,
    U::Error: Display + Error + 'static,
    U::InitError: Debug,
    U::Future: 'static, 
[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: ResponseError + 'static,
    S::Response: Into<Response<B>>,
    S::InitError: Debug,
    S::Future: 'static,
    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: ResponseError + 'static,
    X1::InitError: Debug,
    X1::Future: 'static, 
[src]

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

Trait Implementations

impl<T, S, B, X, U> ServiceFactory for H1Service<T, S, B, X, U> where
    T: AsyncRead + AsyncWrite + Unpin + 'static,
    S: ServiceFactory<Config = (), Request = Request>,
    S::Error: ResponseError + 'static,
    S::Response: Into<Response<B>>,
    S::InitError: Debug,
    S::Future: 'static,
    B: MessageBody,
    X: ServiceFactory<Config = (), Request = Request, Response = Request>,
    X::Error: ResponseError + 'static,
    X::InitError: Debug,
    X::Future: 'static,
    U: ServiceFactory<Config = (), Request = (Request, T, IoState, Codec), Response = ()>,
    U::Error: Display + Error + 'static,
    U::InitError: Debug,
    U::Future: 'static, 
[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 = Pin<Box<dyn Future<Output = Result<Self::Service, Self::InitError>>>>

The future of the ServiceFactory instance.

fn new_service(&self, _: ()) -> Self::Future[src]

Create and return a new service value asynchronously.

fn map<F, R>(self, f: F) -> MapServiceFactory<Self, F, R> where
    F: FnMut(Self::Response) -> R + Clone
[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) -> MapErrServiceFactory<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 + Clone
[src]

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

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]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

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

pub fn into(self) -> U[src]

Performs the conversion.

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

pub fn into_factory(self) -> T[src]

Convert Self to a ServiceFactory

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.