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, "]") }