Skip to main content

RouterPlugin

Trait RouterPlugin 

Source
pub trait RouterPlugin: Send + Sync {
    // Required method
    fn route(
        &self,
        ctx: &RequestContext,
        principal: &Principal,
        candidates: &[UpstreamCandidate],
    ) -> Result<RouteDecision, RouteError>;
}
๐Ÿ‘ŽDeprecated since 0.2.0:

Use FilterPlugin via wire v3

Expand description

Router plugin boundary.

Required Methodsยง

Source

fn route( &self, ctx: &RequestContext, principal: &Principal, candidates: &[UpstreamCandidate], ) -> Result<RouteDecision, RouteError>

๐Ÿ‘ŽDeprecated since 0.2.0:

Use FilterPlugin via wire v3

Selects the upstream and dialect for an authenticated request.

The candidates parameter provides the list of available upstreams that can be selected. Candidates are sorted by upstream_id ascending (Uuid byte order) to enable deterministic routing algorithms.

Dyn Compatibilityยง

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementorsยง