Struct cosworth::prelude::http::Extensions
source · pub struct Extensions { /* private fields */ }
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§
source§impl Extensions
impl Extensions
sourcepub fn new() -> Extensions
pub fn new() -> Extensions
Create an empty Extensions
.
sourcepub fn insert<T>(&mut self, val: T) -> Option<T>where
T: 'static + Send + Sync,
pub fn insert<T>(&mut self, val: T) -> Option<T>where
T: 'static + Send + Sync,
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));
sourcepub fn get<T>(&self) -> Option<&T>where
T: 'static + Send + Sync,
pub fn get<T>(&self) -> Option<&T>where
T: 'static + Send + Sync,
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));
sourcepub fn get_mut<T>(&mut self) -> Option<&mut T>where
T: 'static + Send + Sync,
pub fn get_mut<T>(&mut self) -> Option<&mut T>where
T: 'static + Send + Sync,
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");
sourcepub fn remove<T>(&mut self) -> Option<T>where
T: 'static + Send + Sync,
pub fn remove<T>(&mut self) -> Option<T>where
T: 'static + Send + Sync,
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§
source§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
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§
source§impl<T> IntoSql for T
impl<T> IntoSql for T
source§fn into_sql<T>(self) -> Self::Expressionwhere
Self: AsExpression<T> + Sized,
fn into_sql<T>(self) -> Self::Expressionwhere
Self: AsExpression<T> + Sized,
Convert
self
to an expression for Diesel’s query builder. Read moresource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expressionwhere
&'a Self: AsExpression<T>,
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expressionwhere
&'a Self: AsExpression<T>,
Convert
&self
to an expression for Diesel’s query builder. Read more