pub struct ContextSnapshot {
pub request: RequestSnapshot,
pub response: ResponseSnapshot,
pub message: BTreeMap<String, Value>,
pub errors: Vec<GatewayError>,
}Expand description
A redacted point-in-time view of the whole Context.
BTreeMap throughout (not HashMap) so key order is deterministic: stable
UI rendering, stable diffs, stable test assertions.
Fields§
§request: RequestSnapshot§response: ResponseSnapshot§message: BTreeMap<String, Value>§errors: Vec<GatewayError>Implementations§
Source§impl ContextSnapshot
impl ContextSnapshot
Sourcepub fn capture(
ctx: &Context,
opts: &CaptureOptions,
prev: &PreviousBodies,
) -> Self
pub fn capture( ctx: &Context, opts: &CaptureOptions, prev: &PreviousBodies, ) -> Self
Captures ctx, applying redaction at capture time.
Redaction is never deferred to read time: a secret must not enter the trace buffer at all, because the buffer outlives the request.
Trait Implementations§
Source§impl Clone for ContextSnapshot
impl Clone for ContextSnapshot
Source§fn clone(&self) -> ContextSnapshot
fn clone(&self) -> ContextSnapshot
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ContextSnapshot
impl Debug for ContextSnapshot
Source§impl PartialEq for ContextSnapshot
impl PartialEq for ContextSnapshot
Source§fn eq(&self, other: &ContextSnapshot) -> bool
fn eq(&self, other: &ContextSnapshot) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ContextSnapshot
impl Serialize for ContextSnapshot
impl StructuralPartialEq for ContextSnapshot
Auto Trait Implementations§
impl Freeze for ContextSnapshot
impl RefUnwindSafe for ContextSnapshot
impl Send for ContextSnapshot
impl Sync for ContextSnapshot
impl Unpin for ContextSnapshot
impl UnsafeUnpin for ContextSnapshot
impl UnwindSafe for ContextSnapshot
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
Converts
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>
Converts
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