pub struct ReplayRequest {
pub method: String,
pub path: String,
pub headers: Vec<(String, String)>,
pub auth_identity: Option<String>,
pub timestamp_ms: i64,
}Expand description
One captured request fed to decide. The fields mirror what the
analytics raw table stores (DW-043 + DW-102): the request shape and
the redacted auth identity. Headers are ALREADY redacted at capture
time (the existing PII patterns); replay never sees raw secrets.
Fields§
§method: StringHTTP method (e.g. GET, POST).
path: StringThe request path (no query string); the same value route matching sees.
headers: Vec<(String, String)>Redacted request headers as (name, value) pairs. Values have already been scrubbed by the capture-time redaction pass; replay treats them as opaque match inputs for header-based route criteria and authz (none today, but reserved for future claim-sourced rules).
auth_identity: Option<String>The authenticated consumer name, or None for anonymous
traffic. Captured opt-in (DW-102 auth_identity).
timestamp_ms: i64Wall-clock ms since the Unix epoch (the analytics time domain). Used only for the simulated rate-limit window alignment; replay never reads the wall clock itself.
Implementations§
Trait Implementations§
Source§impl Clone for ReplayRequest
impl Clone for ReplayRequest
Source§fn clone(&self) -> ReplayRequest
fn clone(&self) -> ReplayRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReplayRequest
impl Debug for ReplayRequest
Source§impl PartialEq for ReplayRequest
impl PartialEq for ReplayRequest
impl Eq for ReplayRequest
impl StructuralPartialEq for ReplayRequest
Auto Trait Implementations§
impl Freeze for ReplayRequest
impl RefUnwindSafe for ReplayRequest
impl Send for ReplayRequest
impl Sync for ReplayRequest
impl Unpin for ReplayRequest
impl UnwindSafe for ReplayRequest
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