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

Object Safety§

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