pub struct Extensions { /* private fields */ }
Expand description
请求和响应的扩展组件。
请求和响应可以使用扩展来存储额外的数据。
Implementations§
Source§impl Extensions
impl Extensions
Sourcepub fn insert<T: 'static>(&mut self, val: T) -> Option<T>
pub fn insert<T: 'static>(&mut self, val: T) -> Option<T>
向扩展中插入一个类型。
如果这种类型已经存在,将替换并返回先前插入的值。
§例子
use puzz_http::Extensions;
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: 'static>(&self) -> Option<&T>
pub fn get<T: 'static>(&self) -> Option<&T>
获取先前插入扩展的类型的引用。
§例子
use puzz_http::Extensions;
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: 'static>(&mut self) -> Option<&mut T>
pub fn get_mut<T: 'static>(&mut self) -> Option<&mut T>
获取先前插入扩展的类型的可变引用。
§例子
use puzz_http::Extensions;
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: 'static>(&mut self) -> Option<T>
pub fn remove<T: 'static>(&mut self) -> Option<T>
从扩展中删除一个类型。
如果这种类型存在,将删除并返回此类型。
§例子
use puzz_http::Extensions;
let mut ext = Extensions::new();
ext.insert(5i32);
assert_eq!(ext.remove::<i32>(), Some(5i32));
assert!(ext.get::<i32>().is_none());
Sourcepub fn clear(&mut self)
pub fn clear(&mut self)
清空扩展中的所有类型。
§例子
use puzz_http::Extensions;
let mut ext = Extensions::new();
ext.insert(5i32);
ext.clear();
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 Freeze for Extensions
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