logo
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

Create new FlowCtrl.

Has next handler.

Call next handler. If get next handle and executed, return true, otherwise return false.

If resposne’s statuse code is not success or is redirection, all reset handlers will skipped.

Skip all reset handlers.

Check is FlowCtrl ceased.

Cease all following logic.

If handler is used as middleware, it should use is_ceased to check is flow is ceased. if is_ceased returns true, the handler should skip the following logic.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more