e9467dc540
Adds support for credential helpers Signed-off-by: umohnani8 <umohnani@redhat.com>
41 lines
745 B
Go
41 lines
745 B
Go
//+build !go1.8
|
|
|
|
package osxkeychain
|
|
|
|
import (
|
|
"net/url"
|
|
"strings"
|
|
)
|
|
|
|
func getHostname(u *url.URL) string {
|
|
return stripPort(u.Host)
|
|
}
|
|
|
|
func getPort(u *url.URL) string {
|
|
return portOnly(u.Host)
|
|
}
|
|
|
|
func stripPort(hostport string) string {
|
|
colon := strings.IndexByte(hostport, ':')
|
|
if colon == -1 {
|
|
return hostport
|
|
}
|
|
if i := strings.IndexByte(hostport, ']'); i != -1 {
|
|
return strings.TrimPrefix(hostport[:i], "[")
|
|
}
|
|
return hostport[:colon]
|
|
}
|
|
|
|
func portOnly(hostport string) string {
|
|
colon := strings.IndexByte(hostport, ':')
|
|
if colon == -1 {
|
|
return ""
|
|
}
|
|
if i := strings.Index(hostport, "]:"); i != -1 {
|
|
return hostport[i+len("]:"):]
|
|
}
|
|
if strings.Contains(hostport, "]") {
|
|
return ""
|
|
}
|
|
return hostport[colon+len(":"):]
|
|
}
|