pub struct RequestContext {
pub request_id: RequestId,
pub principal: Option<Principal>,
pub delegation_chain: Vec<DelegationStep>,
pub traceparent: Option<TraceParent>,
pub idempotency_key: Option<IdempotencyKey>,
pub started_at: DateTime<Utc>,
}Expand description
Per-request context carried through runtime boundaries.
Fields§
§request_id: RequestIdRequest correlation id.
principal: Option<Principal>Authenticated principal once auth middleware has populated it.
delegation_chain: Vec<DelegationStep>Flattened delegation chain.
traceparent: Option<TraceParent>Optional W3C traceparent.
idempotency_key: Option<IdempotencyKey>Optional idempotency key. Redacted from debug output.
started_at: DateTime<Utc>Request start time.
Implementations§
Source§impl RequestContext
impl RequestContext
Sourcepub fn new(request_id: RequestId, started_at: DateTime<Utc>) -> Self
pub fn new(request_id: RequestId, started_at: DateTime<Utc>) -> Self
Construct an unauthenticated request context.
Sourcepub fn principal(&self) -> Option<&Principal>
pub fn principal(&self) -> Option<&Principal>
Borrow the authenticated principal, if populated.
Sourcepub fn is_delegated(&self) -> bool
pub fn is_delegated(&self) -> bool
True when this request was made under delegation.
Trait Implementations§
Source§impl Clone for RequestContext
impl Clone for RequestContext
Source§impl Debug for RequestContext
impl Debug for RequestContext
Source§impl<'de> Deserialize<'de> for RequestContext
impl<'de> Deserialize<'de> for RequestContext
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RequestContext
impl RefUnwindSafe for RequestContext
impl Send for RequestContext
impl Sync for RequestContext
impl Unpin for RequestContext
impl UnsafeUnpin for RequestContext
impl UnwindSafe for RequestContext
Blanket Implementations§
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