pub struct Headers { /* private fields */ }Expand description
Type-safe header collection keyed by TypeId.
Thread-safe: all values implement Send + Sync (via HeaderValue bounds).
Implementations§
Source§impl Headers
impl Headers
Sourcepub fn insert<H: HeaderValue>(&mut self, value: H)
pub fn insert<H: HeaderValue>(&mut self, value: H)
Insert a typed header. Replaces any existing header of the same type.
Sourcepub fn get<H: HeaderValue + 'static>(&self) -> Option<&H>
pub fn get<H: HeaderValue + 'static>(&self) -> Option<&H>
Get a reference to a typed header, if present.
Sourcepub fn remove<H: HeaderValue + 'static>(
&mut self,
) -> Option<Box<dyn HeaderValue>>
pub fn remove<H: HeaderValue + 'static>( &mut self, ) -> Option<Box<dyn HeaderValue>>
Remove a typed header, returning it if present.
Sourcepub fn insert_boxed(&mut self, value: Box<dyn HeaderValue>)
pub fn insert_boxed(&mut self, value: Box<dyn HeaderValue>)
Insert a boxed header value. Used by wire deserialization to insert headers whose concrete type is resolved at runtime via a registry.
Sourcepub fn to_wire(&self) -> WireHeaders
pub fn to_wire(&self) -> WireHeaders
Convert typed headers to wire-format WireHeaders.
Iterates all headers and calls HeaderValue::to_bytes() on each.
Headers that return None (local-only) are skipped.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Headers
impl !RefUnwindSafe for Headers
impl Send for Headers
impl Sync for Headers
impl Unpin for Headers
impl UnsafeUnpin for Headers
impl !UnwindSafe for Headers
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