Struct viz::prelude::http::Extensions [−][src]
pub struct Extensions { /* fields omitted */ }
Expand description
A type map of protocol extensions.
Extensions
can be used by Request
and Response
to store
extra data derived from the underlying protocol.
Implementations
Create an empty Extensions
.
Insert a type into this Extensions
.
If a extension of this type already existed, it will be returned.
Example
let mut ext = Extensions::new();
assert!(ext.insert(5i32).is_none());
assert!(ext.insert(4u8).is_none());
assert_eq!(ext.insert(9i32), Some(5i32));
Get a reference to a type previously inserted on this Extensions
.
Example
let mut ext = Extensions::new();
assert!(ext.get::<i32>().is_none());
ext.insert(5i32);
assert_eq!(ext.get::<i32>(), Some(&5i32));
Get a mutable reference to a type previously inserted on this Extensions
.
Example
let mut ext = Extensions::new();
ext.insert(String::from("Hello"));
ext.get_mut::<String>().unwrap().push_str(" World");
assert_eq!(ext.get::<String>().unwrap(), "Hello World");
Remove a type from this Extensions
.
If a extension of this type existed, it will be returned.
Example
let mut ext = Extensions::new();
ext.insert(5i32);
assert_eq!(ext.remove::<i32>(), Some(5i32));
assert!(ext.get::<i32>().is_none());
Trait Implementations
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl !RefUnwindSafe for Extensions
impl Send for Extensions
impl Sync for Extensions
impl Unpin for Extensions
impl !UnwindSafe for Extensions
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more