pub struct MiddlewareStack { /* private fields */ }Expand description
Middleware stack manager
Implementations§
Source§impl MiddlewareStack
impl MiddlewareStack
pub fn new() -> Self
Sourcepub fn add_middleware(&mut self, middleware: Box<dyn EnhancedMiddleware>)
pub fn add_middleware(&mut self, middleware: Box<dyn EnhancedMiddleware>)
Add middleware to the stack
Sourcepub fn from_config(
cors_config: CorsConfig,
compression_config: CompressionConfig,
security_config: SecurityConfig,
) -> Self
pub fn from_config( cors_config: CorsConfig, compression_config: CompressionConfig, security_config: SecurityConfig, ) -> Self
Create a default middleware stack from configuration
Sourcepub async fn process_request(
&self,
request: &mut Request,
) -> Result<Option<Response>>
pub async fn process_request( &self, request: &mut Request, ) -> Result<Option<Response>>
Process request through all middleware
Sourcepub async fn process_response(&self, response: &mut Response) -> Result<()>
pub async fn process_response(&self, response: &mut Response) -> Result<()>
Process response through all middleware (in reverse order)
Sourcepub fn get_enabled_middlewares(&self) -> Vec<&'static str>
pub fn get_enabled_middlewares(&self) -> Vec<&'static str>
Get list of enabled middlewares
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MiddlewareStack
impl !RefUnwindSafe for MiddlewareStack
impl Send for MiddlewareStack
impl Sync for MiddlewareStack
impl Unpin for MiddlewareStack
impl !UnwindSafe for MiddlewareStack
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<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>
Converts
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>
Converts
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 more