1const SENSITIVE_HEADERS_UPPERCASE: &[&str] = &[
4 "AUTHORIZATION",
5 "PROXY_AUTHORIZATION",
6 "COOKIE",
7 "SET_COOKIE",
8 "X_FORWARDED_FOR",
9 "X_REAL_IP",
10 "X_API_KEY",
11];
12
13const PII_REPLACEMENT: &str = "[Filtered]";
14
15pub fn is_sensitive_header(name: &str) -> bool {
18 SENSITIVE_HEADERS_UPPERCASE.contains(&name.to_ascii_uppercase().replace("-", "_").as_str())
19}
20
21pub fn scrub_pii_from_url(mut url: url::Url) -> url::Url {
23 if !url.username().is_empty() {
26 let _ = url.set_username(PII_REPLACEMENT);
27 }
28 if url.password().is_some() {
29 let _ = url.set_password(Some(PII_REPLACEMENT));
30 }
31 url
32}