registry: simplify trimV1Address
First, remove the loop over `apiVersions`. The `apiVersions` map has two entries (`APIVersion1 => "v1"`, and `APIVersion2 => "v2"`), and `APIVersion1` is skipped, which means that the loop effectively translates to; if apiVersionStr == "v2" { return "", invalidParamf("unsupported V1 version path %s", apiVersionStr) } Which leaves us with "anything else" being returned as-is. This patch removes the loop, and replaces the remaining handling to check for the "v2" suffix to produce an error, or to strip the "v1" suffix. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
062c80199f
commit
14b53c6318
1 changed files with 6 additions and 15 deletions
|
@ -82,23 +82,14 @@ func validateEndpoint(endpoint *v1Endpoint) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// trimV1Address trims the version off the address and returns the
|
||||
// trimmed address or an error if there is a non-V1 version.
|
||||
// trimV1Address trims the "v1" version suffix off the address and returns
|
||||
// the trimmed address. It returns an error on "v2" endpoints.
|
||||
func trimV1Address(address string) (string, error) {
|
||||
address = strings.TrimSuffix(address, "/")
|
||||
chunks := strings.Split(address, "/")
|
||||
apiVersionStr := chunks[len(chunks)-1]
|
||||
if apiVersionStr == "v1" {
|
||||
return strings.Join(chunks[:len(chunks)-1], "/"), nil
|
||||
trimmed := strings.TrimSuffix(address, "/")
|
||||
if strings.HasSuffix(trimmed, "/v2") {
|
||||
return "", invalidParamf("unsupported V1 version path v2")
|
||||
}
|
||||
|
||||
for k, v := range apiVersions {
|
||||
if k != APIVersion1 && apiVersionStr == v {
|
||||
return "", invalidParamf("unsupported V1 version path %s", apiVersionStr)
|
||||
}
|
||||
}
|
||||
|
||||
return address, nil
|
||||
return strings.TrimSuffix(trimmed, "/v1"), nil
|
||||
}
|
||||
|
||||
func newV1EndpointFromStr(address string, tlsConfig *tls.Config, headers http.Header) (*v1Endpoint, error) {
|
||||
|
|
Loading…
Reference in a new issue