use headers::{Header, HeaderMapExt as _};
pub trait HttpBuilderExt: sealed::Sealed {
fn header_typed<H: Header>(self, header: H) -> Self;
}
impl HttpBuilderExt for http::response::Builder {
#[inline]
fn header_typed<H: Header>(mut self, header: H) -> Self {
if let Some(headers) = self.headers_mut() {
headers.typed_insert(header);
}
self
}
}
impl HttpBuilderExt for http::request::Builder {
#[inline]
fn header_typed<H: Header>(mut self, header: H) -> Self {
if let Some(headers) = self.headers_mut() {
headers.typed_insert(header);
}
self
}
}
mod sealed {
pub trait Sealed {}
impl Sealed for http::request::Builder {}
impl Sealed for http::response::Builder {}
}