use crate::error::{Error, Result};
#[derive(Debug, Clone)]
pub struct HeaderMap {
headers: reqwest::header::HeaderMap,
}
impl HeaderMap {
pub fn new() -> Self {
HeaderMap {
headers: reqwest::header::HeaderMap::new(),
}
}
pub fn insert(&mut self, key: &'static str, value: String) -> Result<()> {
let header_value = reqwest::header::HeaderValue::from_str(&value)
.map_err(|_| Error::ErrorMessage("invalid headerValue".into()))?;
self.headers.insert(key, header_value);
Ok(())
}
pub fn get(&self, key: &'static str) -> Option<String> {
self.headers
.get(key)
.map(|v| v.to_str().unwrap_or_default().to_string())
}
pub fn inner(&self) -> &reqwest::header::HeaderMap {
&self.headers
}
}