pub struct ReplayDecision {
pub matched_route: Option<String>,
pub authz_result: Option<Decision>,
pub rate_limit_result: Option<bool>,
pub transform_result: Option<TransformSummary>,
pub upstream_pick: Option<UpstreamPick>,
}Expand description
The outcome of one stage of the replayed decision path. Each stage reports what the LIVE proxy would have decided at that point, with no side effects applied.
Fields§
§matched_route: Option<String>The matched route name, or None when no route matched (the
live proxy would answer 404).
authz_result: Option<Decision>The authorization verdict (Allow / Deny). Allow when no
rules applied (the transparent-chain case). None only when no
route matched — authz never runs pre-route.
rate_limit_result: Option<bool>The simulated rate-limit verdict: true when the request would
be admitted, false when over budget. None when no route
matched or no rate-limit rules applied.
transform_result: Option<TransformSummary>A description of the request transforms that WOULD apply
(header/query/body op counts), or None when no route matched
or the route carries no transforms.
upstream_pick: Option<UpstreamPick>The upstream endpoint that WOULD be selected
(upstream/endpoint), or None when no route matched, the
action is not a proxy action, or no endpoint is configured.
Trait Implementations§
Source§impl Clone for ReplayDecision
impl Clone for ReplayDecision
Source§fn clone(&self) -> ReplayDecision
fn clone(&self) -> ReplayDecision
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReplayDecision
impl Debug for ReplayDecision
Source§impl PartialEq for ReplayDecision
impl PartialEq for ReplayDecision
impl Eq for ReplayDecision
impl StructuralPartialEq for ReplayDecision
Auto Trait Implementations§
impl Freeze for ReplayDecision
impl RefUnwindSafe for ReplayDecision
impl Send for ReplayDecision
impl Sync for ReplayDecision
impl Unpin for ReplayDecision
impl UnwindSafe for ReplayDecision
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more