Struct choices::warp::http::Extensions [−][src]
pub struct Extensions { /* fields omitted */ }
A type map of protocol extensions.
Extensions
can be used by Request
and Response
to store
extra data derived from the underlying protocol.
Implementations
impl Extensions
[src]
impl Extensions
[src]pub fn new() -> Extensions
[src]
pub fn new() -> Extensions
[src]Create an empty Extensions
.
pub fn insert<T>(&mut self, val: T) -> Option<T> where
T: 'static + Send + Sync,
[src]
pub fn insert<T>(&mut self, val: T) -> Option<T> where
T: 'static + Send + Sync,
[src]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));
pub fn get<T>(&self) -> Option<&T> where
T: 'static + Send + Sync,
[src]
pub fn get<T>(&self) -> Option<&T> where
T: 'static + Send + Sync,
[src]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));
pub fn get_mut<T>(&mut self) -> Option<&mut T> where
T: 'static + Send + Sync,
[src]
pub fn get_mut<T>(&mut self) -> Option<&mut T> where
T: 'static + Send + Sync,
[src]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");
pub fn remove<T>(&mut self) -> Option<T> where
T: 'static + Send + Sync,
[src]
pub fn remove<T>(&mut self) -> Option<T> where
T: 'static + Send + Sync,
[src]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
impl Debug for Extensions
[src]
impl Debug for Extensions
[src]impl Default for Extensions
[src]
impl Default for Extensions
[src]pub fn default() -> Extensions
[src]
pub fn default() -> Extensions
[src]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
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,