Trait HttpHeaderControl

Source
pub trait HttpHeaderControl: HttpControl {
    const HEADER_TYPE: HeaderType;

    // Required method
    fn header_count(&self) -> usize;

    // Provided methods
    fn all(&self) -> Vec<(String, Vec<u8>)> { ... }
    fn get(&self, name: impl AsRef<str>) -> Option<Vec<u8>> { ... }
    fn set(&self, name: impl AsRef<str>, value: impl AsRef<[u8]>) { ... }
    fn set_all(&self, values: &[(&str, &[u8])]) { ... }
    fn add(&self, name: impl AsRef<str>, value: impl AsRef<[u8]>) { ... }
    fn remove(&self, name: impl AsRef<str>) { ... }
}
Expand description

Defines functions to interact with header data

Required Associated Constants§

Source

const HEADER_TYPE: HeaderType

The header type

Required Methods§

Source

fn header_count(&self) -> usize

Number of headers contained in block

Provided Methods§

Source

fn all(&self) -> Vec<(String, Vec<u8>)>

Get all headers in this block

Source

fn get(&self, name: impl AsRef<str>) -> Option<Vec<u8>>

Check for a specific header value

Source

fn set(&self, name: impl AsRef<str>, value: impl AsRef<[u8]>)

Set a specific header

Source

fn set_all(&self, values: &[(&str, &[u8])])

Replace all headers in this block

Source

fn add(&self, name: impl AsRef<str>, value: impl AsRef<[u8]>)

Add a header to this block (append to existing if present)

Source

fn remove(&self, name: impl AsRef<str>)

Remove a header from this block

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl HttpHeaderControl for RequestHeaders

Source§

const HEADER_TYPE: HeaderType = HeaderType::RequestHeaders

Source§

impl HttpHeaderControl for RequestTrailers

Source§

const HEADER_TYPE: HeaderType = HeaderType::RequestTrailers

Source§

impl HttpHeaderControl for ResponseHeaders

Source§

const HEADER_TYPE: HeaderType = HeaderType::ResponseHeaders

Source§

impl HttpHeaderControl for ResponseTrailers

Source§

const HEADER_TYPE: HeaderType = HeaderType::ResponseTrailers