pub struct Extensions { /* private fields */ }Expand description
Type-safe extension storage
Implementations§
Source§impl Extensions
impl Extensions
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new Extensions instance
§Examples
use reinhardt_http::Extensions;
let extensions = Extensions::new();
assert!(!extensions.contains::<String>());Sourcepub fn insert<T: Send + Sync + 'static>(&self, value: T)
pub fn insert<T: Send + Sync + 'static>(&self, value: T)
Insert a value into extensions
§Examples
use reinhardt_http::Extensions;
let extensions = Extensions::new();
extensions.insert(42u32);
extensions.insert("hello".to_string());
assert!(extensions.contains::<u32>());
assert!(extensions.contains::<String>());Sourcepub fn get<T>(&self) -> Option<T>
pub fn get<T>(&self) -> Option<T>
Get a cloned value from extensions
§Examples
use reinhardt_http::Extensions;
let extensions = Extensions::new();
extensions.insert(42u32);
assert_eq!(extensions.get::<u32>(), Some(42));
assert_eq!(extensions.get::<String>(), None);Sourcepub fn contains<T: Send + Sync + 'static>(&self) -> bool
pub fn contains<T: Send + Sync + 'static>(&self) -> bool
Check if a value of the given type exists
§Examples
use reinhardt_http::Extensions;
let extensions = Extensions::new();
extensions.insert("hello".to_string());
assert!(extensions.contains::<String>());
assert!(!extensions.contains::<u32>());Sourcepub fn remove<T>(&self) -> Option<T>
pub fn remove<T>(&self) -> Option<T>
Remove a value from extensions and return it
§Examples
use reinhardt_http::Extensions;
let extensions = Extensions::new();
extensions.insert(42u32);
assert_eq!(extensions.remove::<u32>(), Some(42));
assert!(!extensions.contains::<u32>());
assert_eq!(extensions.remove::<u32>(), None);Sourcepub fn clear(&self)
pub fn clear(&self)
Clear all extensions
§Examples
use reinhardt_http::Extensions;
let extensions = Extensions::new();
extensions.insert(42u32);
extensions.insert("hello".to_string());
assert!(extensions.contains::<u32>());
assert!(extensions.contains::<String>());
extensions.clear();
assert!(!extensions.contains::<u32>());
assert!(!extensions.contains::<String>());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 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§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 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().