preserve ipv6 brackets and zone when stripping default ports

This commit is contained in:
Jay
2026-08-11 14:49:23 -04:00
parent 6586671c68
commit 54ac311051
2 changed files with 35 additions and 3 deletions
+2 -3
View File
@@ -30,13 +30,12 @@ func NormalizeURL(input string) (string, error) {
// lowercase host
parsed.Host = strings.ToLower(parsed.Host)
host := parsed.Hostname()
port := parsed.Port()
// strip default ports
// strip default ports by suffix-trim so ipv6 brackets and zone survive
if (parsed.Scheme == "wss" && port == "443") ||
(parsed.Scheme == "ws" && port == "80") {
parsed.Host = host
parsed.Host = strings.TrimSuffix(parsed.Host, ":"+port)
}
parsed.Path = strings.TrimRight(parsed.Path, "/")