use headers::{Header, HeaderName, HeaderValue};
pub static X_GITHUB_EVENT: HeaderName = HeaderName::from_static("x-github-event");
pub struct XGithubEvent(pub String);
impl Header for XGithubEvent {
fn name() -> &'static HeaderName {
&X_GITHUB_EVENT
}
fn decode<'i, I>(values: &mut I) -> Result<Self, headers::Error>
where
I: Iterator<Item = &'i HeaderValue>,
{
let value = values
.next()
.and_then(|h| HeaderValue::to_str(h).ok())
.and_then(|s| Some(s.to_string()))
.ok_or_else(headers::Error::invalid)?;
Ok(Self(value))
}
fn encode<E>(&self, _values: &mut E)
where
E: Extend<HeaderValue>,
{
unreachable!()
}
}