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ยง
Sourcefn route(
&self,
ctx: &RequestContext,
principal: &Principal,
candidates: &[UpstreamCandidate],
) -> Result<RouteDecision, RouteError>
๐Deprecated since 0.2.0: Use FilterPlugin via wire v3
fn route( &self, ctx: &RequestContext, principal: &Principal, candidates: &[UpstreamCandidate], ) -> Result<RouteDecision, RouteError>
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".