pub struct MiddlewarePipeline { /* private fields */ }Implementations§
Source§impl MiddlewarePipeline
impl MiddlewarePipeline
pub fn new() -> Self
pub fn add_middleware(&mut self, middleware: Arc<dyn IMiddleware>)
Sourcepub async fn execute(
&self,
ctx: &mut dyn IHttpContext,
final_handler: HandlerFn,
) -> Result<()>
pub async fn execute( &self, ctx: &mut dyn IHttpContext, final_handler: HandlerFn, ) -> Result<()>
Execute middleware onion: invoke forward, final handler, after hooks reverse.
Supports short-circuit: if a middleware’s invoke returns ControlFlow::Break(()),
remaining middleware and the final handler are skipped. after hooks on
already-executed middleware still run in reverse order.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for MiddlewarePipeline
impl !UnwindSafe for MiddlewarePipeline
impl Freeze for MiddlewarePipeline
impl Send for MiddlewarePipeline
impl Sync for MiddlewarePipeline
impl Unpin for MiddlewarePipeline
impl UnsafeUnpin for MiddlewarePipeline
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