cloudevents/binding/http/
headers.rs1use http::header::{AsHeaderName, HeaderMap, HeaderName, HeaderValue};
2
3use http;
4
5pub trait Headers<'a> {
9 type Iterator: Iterator<Item = (&'a HeaderName, &'a HeaderValue)>;
10 fn get<K: AsHeaderName>(&self, name: K) -> Option<&HeaderValue>;
11 fn iter(&'a self) -> Self::Iterator;
12}
13
14impl<'a> Headers<'a> for HeaderMap<HeaderValue> {
16 type Iterator = http::header::Iter<'a, HeaderValue>;
17 fn get<K: AsHeaderName>(&self, name: K) -> Option<&HeaderValue> {
18 self.get(name)
19 }
20 fn iter(&'a self) -> Self::Iterator {
21 self.iter()
22 }
23}