splitHostname splits a repository name to hostname and remotename string. If no valid hostname is found, the default hostname is used. Repository name needs to be already validated before.
(name string)
| 156 | // If no valid hostname is found, the default hostname is used. Repository name |
| 157 | // needs to be already validated before. |
| 158 | func splitHostname(name string) (hostname, remoteName string) { |
| 159 | i := strings.IndexRune(name, '/') |
| 160 | if i == -1 || (!strings.ContainsAny(name[:i], ".:") && name[:i] != "localhost") { |
| 161 | hostname, remoteName = DefaultHostname, name |
| 162 | } else { |
| 163 | hostname, remoteName = name[:i], name[i+1:] |
| 164 | } |
| 165 | if hostname == LegacyDefaultHostname { |
| 166 | hostname = DefaultHostname |
| 167 | } |
| 168 | if hostname == DefaultHostname && !strings.ContainsRune(remoteName, '/') { |
| 169 | remoteName = DefaultRepoPrefix + remoteName |
| 170 | } |
| 171 | return |
| 172 | } |
no outgoing calls
no test coverage detected