github_webhooks/axum/headers/
delivery.rs1use headers::{Header, HeaderName, HeaderValue};
2
3pub static X_GITHUB_DELIVERY: HeaderName = HeaderName::from_static("x-github-delivery");
5
6pub struct XGithubDelivery(pub String);
16
17impl Header for XGithubDelivery {
18 fn name() -> &'static HeaderName {
19 &X_GITHUB_DELIVERY
20 }
21
22 fn decode<'i, I>(values: &mut I) -> Result<Self, headers::Error>
23 where
24 I: Iterator<Item = &'i HeaderValue>,
25 {
26 let value = values
27 .next()
28 .and_then(|h| HeaderValue::to_str(h).ok())
29 .and_then(|s| Some(s.to_string()))
30 .ok_or_else(headers::Error::invalid)?;
31
32 Ok(Self(value))
33 }
34
35 fn encode<E>(&self, _values: &mut E)
36 where
37 E: Extend<HeaderValue>,
38 {
39 unreachable!()
41 }
42}