pub struct Extensions(/* private fields */);Expand description
Canonical x402 extension envelope: extension id → ExtensionEntry.
§Examples
use r402_protocol::payment::{ExtensionEntry, Extensions};
use serde_json::json;
let mut ext = Extensions::new();
ext.insert("bazaar", ExtensionEntry::info(json!({"registered": true})));
let rendered = serde_json::to_value(&ext).unwrap();
assert_eq!(rendered["bazaar"]["info"]["registered"], true);Implementations§
Source§impl Extensions
impl Extensions
Sourcepub fn get(&self, id: &str) -> Option<&ExtensionEntry>
pub fn get(&self, id: &str) -> Option<&ExtensionEntry>
Looks up an extension by stable ID.
Sourcepub fn insert(&mut self, id: impl Into<CompactString>, entry: ExtensionEntry)
pub fn insert(&mut self, id: impl Into<CompactString>, entry: ExtensionEntry)
Inserts or replaces an extension payload for the given ID.
Sourcepub fn remove(&mut self, id: &str) -> Option<ExtensionEntry>
pub fn remove(&mut self, id: &str) -> Option<ExtensionEntry>
Removes an extension by stable ID.
Sourcepub fn iter(&self) -> impl Iterator<Item = (&CompactString, &ExtensionEntry)>
pub fn iter(&self) -> impl Iterator<Item = (&CompactString, &ExtensionEntry)>
Iterates over (id, entry) pairs.
Trait Implementations§
Source§impl Clone for Extensions
impl Clone for Extensions
Source§fn clone(&self) -> Extensions
fn clone(&self) -> Extensions
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 Extensions
impl Debug for Extensions
Source§impl Default for Extensions
impl Default for Extensions
Source§fn default() -> Extensions
fn default() -> Extensions
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for Extensions
impl<'de> Deserialize<'de> for Extensions
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
impl Eq for Extensions
Source§impl<K, V> FromIterator<(K, V)> for Extensions
impl<K, V> FromIterator<(K, V)> for Extensions
Source§impl PartialEq for Extensions
impl PartialEq for Extensions
Source§impl Serialize for Extensions
impl Serialize for Extensions
impl StructuralPartialEq for Extensions
Auto Trait Implementations§
impl Freeze for Extensions
impl RefUnwindSafe for Extensions
impl Send for Extensions
impl Sync for Extensions
impl Unpin for Extensions
impl UnsafeUnpin for Extensions
impl UnwindSafe for Extensions
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