pub struct HttpModuleCtx { /* private fields */ }Expand description
The Contexts of multiple modules
This is the object that will apply all the included modules to a certain HTTP request.
The modules are ordered according to their order().
Implementations§
Source§impl HttpModuleCtx
impl HttpModuleCtx
Sourcepub fn empty() -> HttpModuleCtx
pub fn empty() -> HttpModuleCtx
Create a placeholder empty HttpModuleCtx.
HttpModules should be used to create nonempty HttpModuleCtx.
Sourcepub fn get<T>(&self) -> Option<&T>where
T: 'static,
pub fn get<T>(&self) -> Option<&T>where
T: 'static,
Get a ref to HttpModule if any.
Sourcepub fn get_mut<T>(&mut self) -> Option<&mut T>where
T: 'static,
pub fn get_mut<T>(&mut self) -> Option<&mut T>where
T: 'static,
Get a mut ref to HttpModule if any.
Sourcepub async fn request_header_filter(
&mut self,
req: &mut RequestHeader,
) -> Result<(), Box<Error>>
pub async fn request_header_filter( &mut self, req: &mut RequestHeader, ) -> Result<(), Box<Error>>
Run the request_header_filter for all the modules according to their orders.
Sourcepub async fn request_body_filter(
&mut self,
body: &mut Option<Bytes>,
end_of_stream: bool,
) -> Result<(), Box<Error>>
pub async fn request_body_filter( &mut self, body: &mut Option<Bytes>, end_of_stream: bool, ) -> Result<(), Box<Error>>
Run the request_body_filter for all the modules according to their orders.
Sourcepub async fn response_header_filter(
&mut self,
req: &mut ResponseHeader,
end_of_stream: bool,
) -> Result<(), Box<Error>>
pub async fn response_header_filter( &mut self, req: &mut ResponseHeader, end_of_stream: bool, ) -> Result<(), Box<Error>>
Run the response_header_filter for all the modules according to their orders.
Sourcepub fn response_body_filter(
&mut self,
body: &mut Option<Bytes>,
end_of_stream: bool,
) -> Result<(), Box<Error>>
pub fn response_body_filter( &mut self, body: &mut Option<Bytes>, end_of_stream: bool, ) -> Result<(), Box<Error>>
Run the response_body_filter for all the modules according to their orders.
Sourcepub fn response_trailer_filter(
&mut self,
trailers: &mut Option<Box<HeaderMap>>,
) -> Result<Option<Bytes>, Box<Error>>
pub fn response_trailer_filter( &mut self, trailers: &mut Option<Box<HeaderMap>>, ) -> Result<Option<Bytes>, Box<Error>>
Run the response_trailer_filter for all the modules according to their orders.
Returns an Option<Bytes> which can be used to write response trailers into
the response body. Note, if multiple modules attempt to write trailers into
the body the last one will be used.
Implementors that intend to write trailers into the body need to ensure their filter is using an encoding that supports this.
Sourcepub fn response_done_filter(&mut self) -> Result<Option<Bytes>, Box<Error>>
pub fn response_done_filter(&mut self) -> Result<Option<Bytes>, Box<Error>>
Run the response_done_filter for all the modules according to their orders.
This filter may be invoked in certain response paths to signal end of response if not already done so via trailers or body (with end flag set).
Returns an Option<Bytes> which can be used to write additional response body
bytes. Note, if multiple modules attempt to write body bytes, only the last one
will be used.
Auto Trait Implementations§
impl Freeze for HttpModuleCtx
impl !RefUnwindSafe for HttpModuleCtx
impl Send for HttpModuleCtx
impl Sync for HttpModuleCtx
impl Unpin for HttpModuleCtx
impl !UnwindSafe for HttpModuleCtx
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.