From 8d65f21f235ec8f20360a720a46550bc06b81678 Mon Sep 17 00:00:00 2001 From: 21pages Date: Sun, 29 Mar 2026 16:41:48 +0800 Subject: [PATCH] copilot review: format IPv6 tcp proxy log targets correctly Signed-off-by: 21pages --- src/common.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/common.rs b/src/common.rs index 228d1801e..f7b3f1af3 100644 --- a/src/common.rs +++ b/src/common.rs @@ -1165,11 +1165,10 @@ fn tcp_proxy_log_target(url: &str) -> String { .ok() .map(|parsed| { let mut redacted = format!("{}://", parsed.scheme()); - if let Some(host) = parsed.host_str() { - redacted.push_str(host); - } else { + let Some(host) = parsed.host() else { return "".to_owned(); - } + }; + redacted.push_str(&host.to_string()); if let Some(port) = parsed.port() { redacted.push(':'); redacted.push_str(&port.to_string()); @@ -2930,6 +2929,14 @@ mod tests { ); } + #[test] + fn test_tcp_proxy_log_target_brackets_ipv6_host_with_port() { + assert_eq!( + tcp_proxy_log_target("https://[2001:db8::1]:21114/api/heartbeat?token=secret"), + "https://[2001:db8::1]:21114/api/heartbeat" + ); + } + #[test] fn test_http_proxy_response_to_json() { let mut resp = HttpProxyResponse {