use rightkit_http::testing::{loopback_config, MockResponse, MockServer};
use rightkit_http::*;
use std::time::Duration;
fn cfg() -> ClientConfig {
ClientConfig {
retry: RetryPolicy::none(),
request_timeout: Duration::from_secs(5),
response_timeout: Some(Duration::from_secs(5)),
..loopback_config()
}
}
#[test]
fn f8_response_debug_hides_configured_and_request_secrets() {
let server = MockServer::start(|_, _| {
MockResponse::text(200, "body")
.header("X-Echo", "hunter2-config")
.header("X-Echo2", "hunter2-request")
});
let c = Client::new(ClientConfig {
redact_values: vec!["hunter2-config".into()],
..cfg()
});
let req = Request::get(server.url("/")).secret_header("X-Credential", "hunter2-request");
let resp = c.send(&req).unwrap();
let shown = format!("{resp:?}");
assert!(!shown.contains("hunter2"), "{shown}");
let head = c.send_headers(&req).unwrap();
let shown = format!("{head:?}");
assert!(!shown.contains("hunter2"), "{shown}");
assert_eq!(resp.header("x-echo"), Some("hunter2-config"));
}