Skip to main content

tokn_headers/
normalizer.rs

1//! Header normalizers rebuild client-derived maps into provider-owned wire
2//! shapes after credentials have been injected.
3
4use crate::{AgentId, HeaderMap, TemplateVars};
5
6#[derive(Debug, Clone, Copy)]
7pub struct HeaderNormalizeCtx<'a> {
8  pub agent_id: &'a AgentId,
9  pub stream: bool,
10  pub content_encoding: Option<&'a str>,
11  pub vars: &'a TemplateVars,
12}
13
14/// Rebuild a header map into a known provider/client wire shape.
15pub trait HeaderNormalizer {
16  fn normalize(&self, headers: &HeaderMap, ctx: &HeaderNormalizeCtx<'_>) -> HeaderMap;
17}