go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/r2/remove_host_empty_port.go (about) 1 /* 2 3 Copyright (c) 2023 - Present. Will Charczuk. All rights reserved. 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository. 5 6 */ 7 8 package r2 9 10 import "strings" 11 12 // RemoveHostEmptyPort strips the empty port in ":port" to "" 13 // as mandated by RFC 3986 Section 6.2.3. 14 func RemoveHostEmptyPort(host string) string { 15 if HostHasPort(host) { 16 return strings.TrimSuffix(host, ":") 17 } 18 return host 19 } 20 21 // HostHasPort returns true if a string is in the form "host:port", or "[ipv6::address]:port". 22 func HostHasPort(s string) bool { return strings.LastIndex(s, ":") > strings.LastIndex(s, "]") }