use std::collections::HashMap;
#[derive(Debug, Clone, Default)]
pub struct HttpHeaders(pub HashMap<String, String>);
impl HttpHeaders {
pub fn new() -> Self {
Self(HashMap::new())
}
pub fn insert(&mut self, key: impl Into<String>, value: impl Into<String>) {
self.0.insert(key.into(), value.into());
}
}
impl From<&HttpHeaders> for reqwest::header::HeaderMap {
fn from(headers: &HttpHeaders) -> Self {
let mut map = reqwest::header::HeaderMap::new();
for (k, v) in &headers.0 {
if let Ok(header_name) = reqwest::header::HeaderName::from_bytes(k.as_bytes()) {
if let Ok(header_value) = reqwest::header::HeaderValue::from_str(v) {
map.insert(header_name, header_value);
}
}
}
map
}
}