Struct actix_http::h1::H1Service
source · pub struct H1Service<T, S, B, X = ExpectHandler, U = UpgradeHandler> { /* private fields */ }
Expand description
ServiceFactory
implementation for HTTP1 transport
Implementations§
source§impl<S, B, X, U> H1Service<TcpStream, S, B, X, U>where
S: ServiceFactory<Request, Config = ()>,
S::Future: 'static,
S::Error: Into<Response<BoxBody>>,
S::InitError: Debug,
S::Response: Into<Response<B>>,
B: MessageBody,
X: ServiceFactory<Request, Config = (), Response = Request>,
X::Future: 'static,
X::Error: Into<Response<BoxBody>>,
X::InitError: Debug,
U: ServiceFactory<(Request, Framed<TcpStream, Codec>), Config = (), Response = ()>,
U::Future: 'static,
U::Error: Display + Into<Response<BoxBody>>,
U::InitError: Debug,
impl<S, B, X, U> H1Service<TcpStream, S, B, X, U>where S: ServiceFactory<Request, Config = ()>, S::Future: 'static, S::Error: Into<Response<BoxBody>>, S::InitError: Debug, S::Response: Into<Response<B>>, B: MessageBody, X: ServiceFactory<Request, Config = (), Response = Request>, X::Future: 'static, X::Error: Into<Response<BoxBody>>, X::InitError: Debug, U: ServiceFactory<(Request, Framed<TcpStream, Codec>), Config = (), Response = ()>, U::Future: 'static, U::Error: Display + Into<Response<BoxBody>>, U::InitError: Debug,
sourcepub fn tcp(
self
) -> impl ServiceFactory<TcpStream, Config = (), Response = (), Error = DispatchError, InitError = ()>
pub fn tcp( self ) -> impl ServiceFactory<TcpStream, Config = (), Response = (), Error = DispatchError, InitError = ()>
Create simple tcp stream service
source§impl<T, S, B, X, U> H1Service<T, S, B, X, U>where
S: ServiceFactory<Request, Config = ()>,
S::Error: Into<Response<BoxBody>>,
S::Response: Into<Response<B>>,
S::InitError: Debug,
B: MessageBody,
impl<T, S, B, X, U> H1Service<T, S, B, X, U>where S: ServiceFactory<Request, Config = ()>, S::Error: Into<Response<BoxBody>>, S::Response: Into<Response<B>>, S::InitError: Debug, B: MessageBody,
pub fn expect<X1>(self, expect: X1) -> H1Service<T, S, B, X1, U>where X1: ServiceFactory<Request, Response = Request>, X1::Error: Into<Response<BoxBody>>, X1::InitError: Debug,
pub fn upgrade<U1>(self, upgrade: Option<U1>) -> H1Service<T, S, B, X, U1>where U1: ServiceFactory<(Request, Framed<T, Codec>), Response = ()>, U1::Error: Display, U1::InitError: Debug,
Trait Implementations§
source§impl<T, S, B, X, U> ServiceFactory<(T, Option<SocketAddr>)> for H1Service<T, S, B, X, U>where
T: AsyncRead + AsyncWrite + Unpin + 'static,
S: ServiceFactory<Request, Config = ()>,
S::Future: 'static,
S::Error: Into<Response<BoxBody>>,
S::Response: Into<Response<B>>,
S::InitError: Debug,
B: MessageBody,
X: ServiceFactory<Request, Config = (), Response = Request>,
X::Future: 'static,
X::Error: Into<Response<BoxBody>>,
X::InitError: Debug,
U: ServiceFactory<(Request, Framed<T, Codec>), Config = (), Response = ()>,
U::Future: 'static,
U::Error: Display + Into<Response<BoxBody>>,
U::InitError: Debug,
impl<T, S, B, X, U> ServiceFactory<(T, Option<SocketAddr>)> for H1Service<T, S, B, X, U>where T: AsyncRead + AsyncWrite + Unpin + 'static, S: ServiceFactory<Request, Config = ()>, S::Future: 'static, S::Error: Into<Response<BoxBody>>, S::Response: Into<Response<B>>, S::InitError: Debug, B: MessageBody, X: ServiceFactory<Request, Config = (), Response = Request>, X::Future: 'static, X::Error: Into<Response<BoxBody>>, X::InitError: Debug, U: ServiceFactory<(Request, Framed<T, Codec>), Config = (), Response = ()>, U::Future: 'static, U::Error: Display + Into<Response<BoxBody>>, U::InitError: Debug,
§type Error = DispatchError
type Error = DispatchError
Errors produced by the created services.
§type Service = HttpServiceHandler<T, <S as ServiceFactory<Request<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>, Global>>>>>::Service, B, <X as ServiceFactory<Request<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>, Global>>>>>::Service, <U as ServiceFactory<(Request<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>, Global>>>, Framed<T, Codec>)>>::Service>
type Service = HttpServiceHandler<T, <S as ServiceFactory<Request<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>, Global>>>>>::Service, B, <X as ServiceFactory<Request<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>, Global>>>>>::Service, <U as ServiceFactory<(Request<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>, Global>>>, Framed<T, Codec>)>>::Service>
The kind of
Service
created by this factory.§type Future = Pin<Box<dyn Future<Output = Result<<H1Service<T, S, B, X, U> as ServiceFactory<(T, Option<SocketAddr>)>>::Service, <H1Service<T, S, B, X, U> as ServiceFactory<(T, Option<SocketAddr>)>>::InitError>>, Global>>
type Future = Pin<Box<dyn Future<Output = Result<<H1Service<T, S, B, X, U> as ServiceFactory<(T, Option<SocketAddr>)>>::Service, <H1Service<T, S, B, X, U> as ServiceFactory<(T, Option<SocketAddr>)>>::InitError>>, Global>>
The future of the
Service
instance.gsource§fn new_service(&self, _: ()) -> Self::Future
fn new_service(&self, _: ()) -> Self::Future
Create and return a new service asynchronously.
Auto Trait Implementations§
impl<T, S, B, X = ExpectHandler, U = UpgradeHandler> !RefUnwindSafe for H1Service<T, S, B, X, U>
impl<T, S, B, X = ExpectHandler, U = UpgradeHandler> !Send for H1Service<T, S, B, X, U>
impl<T, S, B, X = ExpectHandler, U = UpgradeHandler> !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, U: Unpin, X: Unpin,
impl<T, S, B, X = ExpectHandler, U = UpgradeHandler> !UnwindSafe for H1Service<T, S, B, X, U>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<SF, Req> IntoServiceFactory<SF, Req> for SFwhere
SF: ServiceFactory<Req>,
impl<SF, Req> IntoServiceFactory<SF, Req> for SFwhere SF: ServiceFactory<Req>,
source§fn into_factory(self) -> SF
fn into_factory(self) -> SF
Convert
Self
to a ServiceFactory
source§impl<SF, Req> ServiceFactoryExt<Req> for SFwhere
SF: ServiceFactory<Req>,
impl<SF, Req> ServiceFactoryExt<Req> for SFwhere SF: ServiceFactory<Req>,
source§fn map<F, R>(self, f: F) -> MapServiceFactory<Self, F, Req, R>where
Self: Sized,
F: FnMut(Self::Response) -> R + Clone,
fn map<F, R>(self, f: F) -> MapServiceFactory<Self, F, Req, R>where Self: Sized, F: FnMut(Self::Response) -> R + Clone,
Map this service’s output to a different type, returning a new service
of the resulting type.
source§fn map_err<F, E>(self, f: F) -> MapErrServiceFactory<Self, Req, F, E>where
Self: Sized,
F: Fn(Self::Error) -> E + Clone,
fn map_err<F, E>(self, f: F) -> MapErrServiceFactory<Self, Req, F, E>where Self: Sized, F: Fn(Self::Error) -> E + Clone,
Map this service’s error to a different error, returning a new service.
source§fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, F, Req, E>where
Self: Sized,
F: Fn(Self::InitError) -> E + Clone,
fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, F, Req, E>where Self: Sized, F: Fn(Self::InitError) -> E + Clone,
Map this factory’s init error to a different error, returning a new service.
source§fn and_then<I, SF1>(self, factory: I) -> AndThenServiceFactory<Self, SF1, Req>where
Self: Sized,
Self::Config: Clone,
I: IntoServiceFactory<SF1, Self::Response>,
SF1: ServiceFactory<Self::Response, Config = Self::Config, Error = Self::Error, InitError = Self::InitError>,
fn and_then<I, SF1>(self, factory: I) -> AndThenServiceFactory<Self, SF1, Req>where Self: Sized, Self::Config: Clone, I: IntoServiceFactory<SF1, Self::Response>, SF1: ServiceFactory<Self::Response, Config = Self::Config, Error = Self::Error, InitError = Self::InitError>,
Call another service after call to this one has resolved successfully.