use http::HeaderMap;
#[derive(Debug, Clone)]
pub struct WebhookRequest<'a> {
pub payload: &'a [u8],
pub headers: HeaderMap,
}
impl<'a> WebhookRequest<'a> {
#[inline]
#[must_use]
pub fn new(payload: &'a [u8], headers: HeaderMap) -> Self {
Self { payload, headers }
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn new_keeps_payload_and_headers() {
let mut headers = HeaderMap::new();
headers.insert("webhook-id", "evt_1".parse().expect("header should parse"));
let request = WebhookRequest::new(b"{}", headers);
assert_eq!(request.payload, b"{}");
assert_eq!(
request
.headers
.get("webhook-id")
.expect("header should exist"),
"evt_1"
);
}
}