pub enum Control<F, Err> {
Connect(Connection<F>),
Request(NewRequest),
Upgrade(Upgrade<F>),
Expect(Expect),
Disconnect(Reason<Err>),
}Expand description
A lifecycle event sent to an HTTP/1 control service.
Return Control::ack to accept the default action, or use the methods on
the individual message type to reject or take ownership of the operation.
Variants§
Connect(Connection<F>)
A transport connection has been accepted.
Request(NewRequest)
A complete request head has been decoded.
Upgrade(Upgrade<F>)
A request asks to upgrade the HTTP/1 connection.
Expect(Expect)
A request contains Expect: 100-continue.
Disconnect(Reason<Err>)
The connection is preparing to stop.
Implementations§
Source§impl<F, Err> Control<F, Err>
impl<F, Err> Control<F, Err>
Sourcepub fn ack(self) -> ControlAck<F>where
F: Filter,
Err: ResponseError,
pub fn ack(self) -> ControlAck<F>where
F: Filter,
Err: ResponseError,
Accepts the event and applies its default action.
Trait Implementations§
Source§impl<St, F, Err> Service<St, Control<F, Err>> for DefaultControlServicewhere
F: Filter,
Err: ResponseError,
impl<St, F, Err> Service<St, Control<F, Err>> for DefaultControlServicewhere
F: Filter,
Err: ResponseError,
Source§type Res = ControlAck<F>
type Res = ControlAck<F>
Response produced by the service.
Source§type Error = DispatchError
type Error = DispatchError
Error produced while checking readiness or processing a request.
Source§async fn call(
&self,
r: Control<F, Err>,
_: Ctx<'_, Self, St>,
) -> Result<Self::Res, Self::Error>
async fn call( &self, r: Control<F, Err>, _: Ctx<'_, Self, St>, ) -> Result<Self::Res, Self::Error>
Processes a request and asynchronously returns the response. Read more
Source§async fn ready(&self, ctx: Ctx<'_, Self, St>) -> Result<(), Self::Error>
async fn ready(&self, ctx: Ctx<'_, Self, St>) -> Result<(), Self::Error>
Waits until the service is ready to process a request. Read more
Source§fn map<F, Res>(self, f: F) -> ServiceChain<Map<F, Self, Res>, St, Req>
fn map<F, Res>(self, f: F) -> ServiceChain<Map<F, Self, Res>, St, Req>
Maps this service’s output to a different type, returning a new service. Read more
Source§fn map_err<F, E>(self, f: F) -> ServiceChain<MapErr<F, Self, E>, St, Req>
fn map_err<F, E>(self, f: F) -> ServiceChain<MapErr<F, Self, E>, St, Req>
Maps this service’s error to a different type, returning a new service. Read more
Source§impl<St, F, Err> ServiceFactory<St, Control<F, Err>> for DefaultControlServicewhere
F: Filter,
Err: ResponseError,
impl<St, F, Err> ServiceFactory<St, Control<F, Err>> for DefaultControlServicewhere
F: Filter,
Err: ResponseError,
Source§type Res = ControlAck<F>
type Res = ControlAck<F>
Response produced by the created services.
Source§type Error = DispatchError
type Error = DispatchError
Error produced by the created services.
Source§type Service = DefaultControlService
type Service = DefaultControlService
The type of
Service produced by this factory.Source§type InitError = DispatchError
type InitError = DispatchError
Error that can occur while constructing a service.
Source§async fn create(&self, _: &St) -> Result<Self::Service, Self::InitError>
async fn create(&self, _: &St) -> Result<Self::Service, Self::InitError>
Asynchronously creates a service using the supplied state.
Source§async fn pipeline(
&self,
st: St,
) -> Result<Pipeline<Req, Self::Res, Self::Error>, Self::InitError>where
Self: 'static,
St: 'static,
Req: 'static,
async fn pipeline(
&self,
st: St,
) -> Result<Pipeline<Req, Self::Res, Self::Error>, Self::InitError>where
Self: 'static,
St: 'static,
Req: 'static,
Creates a service and wraps it with its state in a
Pipeline.Source§fn map<F, Res>(
self,
f: F,
) -> ServiceChainFactory<MapFactory<F, Self, Res>, St, Req>
fn map<F, Res>( self, f: F, ) -> ServiceChainFactory<MapFactory<F, Self, Res>, St, Req>
Returns a factory whose services map responses to a different type.
Source§fn map_err<F, E>(
self,
f: F,
) -> ServiceChainFactory<MapErrFactory<F, Self, E>, St, Req>
fn map_err<F, E>( self, f: F, ) -> ServiceChainFactory<MapErrFactory<F, Self, E>, St, Req>
Returns a factory whose services map errors to a different type.
Source§fn map_init_err<F, E>(
self,
f: F,
) -> ServiceChainFactory<MapInitErr<F, Self, E>, St, Req>
fn map_init_err<F, E>( self, f: F, ) -> ServiceChainFactory<MapInitErr<F, Self, E>, St, Req>
Maps this factory’s initialization error to a different error,
returning a new service factory.
Source§fn and_then<U, F>(
self,
f: F,
) -> ServiceChainFactory<AndThenFactory<Self, U>, St, Req>where
Self: Sized,
U: ServiceFactory<St, Self::Res, Error = Self::Error, InitError = Self::InitError>,
F: IntoServiceFactory<U, St, Self::Res>,
fn and_then<U, F>(
self,
f: F,
) -> ServiceChainFactory<AndThenFactory<Self, U>, St, Req>where
Self: Sized,
U: ServiceFactory<St, Self::Res, Error = Self::Error, InitError = Self::InitError>,
F: IntoServiceFactory<U, St, Self::Res>,
Chains another factory after this factory’s services. Read more
Auto Trait Implementations§
impl<F, Err> !Freeze for Control<F, Err>
impl<F, Err> !RefUnwindSafe for Control<F, Err>
impl<F, Err> !Send for Control<F, Err>
impl<F, Err> !Sync for Control<F, Err>
impl<F, Err> !UnwindSafe for Control<F, Err>
impl<F, Err> Unpin for Control<F, Err>
impl<F, Err> UnsafeUnpin for Control<F, Err>where
Err: UnsafeUnpin,
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