pub struct CallContext {
pub deadline: Option<Timestamp>,
pub bearer_capability: Vec<u8>,
pub bearer_proof: Option<BearerProof>,
pub request_proof: Option<RequestProof>,
pub human_verification: Option<HumanVerification>,
pub client_operation_id: String,
pub trace: Option<TraceContext>,
pub bearer_grant_envelope: Vec<u8>,
pub bearer_authority_key_selector: Vec<u8>,
}Expand description
Context shared by every hosted call. The method path and encoded request body stay in the operation-stream envelope because both are inputs to routing and canonical request signing.
Fields§
§deadline: Option<Timestamp>§bearer_capability: Vec<u8>§bearer_proof: Option<BearerProof>§request_proof: Option<RequestProof>§human_verification: Option<HumanVerification>§client_operation_id: String§trace: Option<TraceContext>§bearer_grant_envelope: Vec<u8>Optional signed GrantEnvelope v2 paired with a client-minted Biscuit. The byte-exact envelope contract is defined by AccessTokenResponse.grant_envelope in identity.proto.
O(1) authority-key selector for keyed biscuit verification (weft#1960 leg C). The raw 32-byte Ed25519 biscuit_authority_public_key the client-minted token’s authority block is signed under (AccessTokenResponse.biscuit_authority_public_key, identity.proto field 17). ADVISORY: it only PICKS which registered authority key to verify against; the biscuit signature still proves the key, so a wrong or absent selector is rejected, never trusted. Empty = legacy scan fallback during cutover.
Trait Implementations§
Source§impl Clone for CallContext
impl Clone for CallContext
Source§fn clone(&self) -> CallContext
fn clone(&self) -> CallContext
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CallContext
impl Debug for CallContext
Source§impl Default for CallContext
impl Default for CallContext
impl Eq for CallContext
Source§impl Hash for CallContext
impl Hash for CallContext
Source§impl Message for CallContext
impl Message for CallContext
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.