Struct actix_web::dev::Extensions
source · pub struct Extensions { /* private fields */ }
Expand description
A type map for request extensions.
All entries into this map must be owned types (or static references).
Implementations§
source§impl Extensions
impl Extensions
sourcepub fn new() -> Extensions
pub fn new() -> Extensions
Creates an empty Extensions
.
sourcepub fn insert<T>(&mut self, val: T) -> Option<T>where
T: 'static,
pub fn insert<T>(&mut self, val: T) -> Option<T>where T: 'static,
Insert an item into the map.
If an item of this type was already stored, it will be replaced and returned.
let mut map = Extensions::new();
assert_eq!(map.insert(""), None);
assert_eq!(map.insert(1u32), None);
assert_eq!(map.insert(2u32), Some(1u32));
assert_eq!(*map.get::<u32>().unwrap(), 2u32);
sourcepub fn contains<T>(&self) -> boolwhere
T: 'static,
pub fn contains<T>(&self) -> boolwhere T: 'static,
Check if map contains an item of a given type.
let mut map = Extensions::new();
assert!(!map.contains::<u32>());
assert_eq!(map.insert(1u32), None);
assert!(map.contains::<u32>());
sourcepub fn get<T>(&self) -> Option<&T>where
T: 'static,
pub fn get<T>(&self) -> Option<&T>where T: 'static,
Get a reference to an item of a given type.
let mut map = Extensions::new();
map.insert(1u32);
assert_eq!(map.get::<u32>(), Some(&1u32));
sourcepub fn get_mut<T>(&mut self) -> Option<&mut T>where
T: 'static,
pub fn get_mut<T>(&mut self) -> Option<&mut T>where T: 'static,
Get a mutable reference to an item of a given type.
let mut map = Extensions::new();
map.insert(1u32);
assert_eq!(map.get_mut::<u32>(), Some(&mut 1u32));
sourcepub fn remove<T>(&mut self) -> Option<T>where
T: 'static,
pub fn remove<T>(&mut self) -> Option<T>where T: 'static,
Remove an item from the map of a given type.
If an item of this type was already stored, it will be returned.
let mut map = Extensions::new();
map.insert(1u32);
assert_eq!(map.get::<u32>(), Some(&1u32));
assert_eq!(map.remove::<u32>(), Some(1u32));
assert!(!map.contains::<u32>());
sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Clear the Extensions
of all inserted extensions.
let mut map = Extensions::new();
map.insert(1u32);
assert!(map.contains::<u32>());
map.clear();
assert!(!map.contains::<u32>());
sourcepub fn extend(&mut self, other: Extensions)
pub fn extend(&mut self, other: Extensions)
Extends self with the items from another Extensions
.
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> 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