tinyhttp_internal/
headers.rs1use std::collections::HashMap;
2
3use unicase::Ascii;
4
5#[derive(Default, Debug, Clone)]
6pub struct HeaderMap {
7 inner: HashMap<Ascii<String>, Ascii<String>>,
8}
9
10impl HeaderMap {
11 pub fn new() -> Self {
12 Self {
13 inner: HashMap::new(),
14 }
15 }
16
17 pub fn get(&self, key: impl ToString) -> Option<&str> {
18 self.inner
19 .get(&Ascii::new(key.to_string()))
20 .map(|u| u.as_str())
21 }
22
23 pub fn set(&mut self, key: impl ToString, val: impl ToString) {
24 let _ = self
25 .inner
26 .insert(Ascii::new(key.to_string()), Ascii::new(val.to_string()));
27 }
28
29 pub fn contains(&self, key: impl ToString) -> bool {
30 self.inner.contains_key(&Ascii::new(key.to_string()))
31 }
32}