pub struct FlowCtrl { /* private fields */ }
Expand description
FlowCtrl
is used to control the flow of execute handlers.
When a request is comming, Router
will detect it and get the matched one.
And then salvo will collect all handlers (including added as middlewares) in a list.
All handlers in this list will executed one by one. Each handler can use FlowCtrl
to control this
flow, let the flow call next handler or skip all rest handlers.
NOTE: When Response
’s status code is set, and it’s is_success()
is returns false, all rest handlers
will skipped.
Implementations§
source§impl FlowCtrl
impl FlowCtrl
sourcepub async fn call_next(
&mut self,
req: &mut Request,
depot: &mut Depot,
res: &mut Response
) -> impl Future<Output = bool>
pub async fn call_next(
&mut self,
req: &mut Request,
depot: &mut Depot,
res: &mut Response
) -> impl Future<Output = bool>
Call next handler. If get next handler and executed, returns true, otherwise returns false.
If resposne’s statuse code is error or is redirection, all reset handlers will skipped.