pub fn sanitize_api_key(api_key: &str) -> String {
if api_key.is_empty() {
return String::new();
}
if api_key.contains("REDACTED") {
return api_key.to_string();
}
if api_key.len() <= 8 {
"***REDACTED***".to_string()
} else {
format!("{}...{}", &api_key[..4], "***REDACTED***")
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_sanitize_api_key() {
assert_eq!(sanitize_api_key(""), "");
assert_eq!(sanitize_api_key("sk-1234"), "***REDACTED***");
assert!(sanitize_api_key("sk-1234567890abcdefghijklmnop").contains("REDACTED"));
}
}