mirror of
https://github.com/containers/podman.git
synced 2025-10-19 12:12:36 +08:00
Consolidate the error handling path in GetCredentials
We'll share even more code here in the future. Should not change behavior. Signed-off-by: Miloslav Trmač <mitr@redhat.com>
This commit is contained in:
@ -37,20 +37,23 @@ func GetCredentials(r *http.Request) (*types.DockerAuthConfig, string, error) {
|
|||||||
hdr := r.Header.Values(key.String())
|
hdr := r.Header.Values(key.String())
|
||||||
return hdr, len(hdr) > 0
|
return hdr, len(hdr) > 0
|
||||||
}
|
}
|
||||||
|
var override *types.DockerAuthConfig
|
||||||
|
var authFile string
|
||||||
|
var headerName HeaderAuthName
|
||||||
|
var err error
|
||||||
if hdr, ok := nonemptyHeaderValue(XRegistryConfigHeader); ok {
|
if hdr, ok := nonemptyHeaderValue(XRegistryConfigHeader); ok {
|
||||||
c, f, err := getConfigCredentials(r, hdr)
|
headerName = XRegistryConfigHeader
|
||||||
if err != nil {
|
override, authFile, err = getConfigCredentials(r, hdr)
|
||||||
return nil, "", errors.Wrapf(err, "failed to parse %q header for %s", XRegistryConfigHeader, r.URL.String())
|
|
||||||
}
|
|
||||||
return c, f, nil
|
|
||||||
} else if hdr, ok := nonemptyHeaderValue(XRegistryAuthHeader); ok {
|
} else if hdr, ok := nonemptyHeaderValue(XRegistryAuthHeader); ok {
|
||||||
c, f, err := getAuthCredentials(hdr)
|
headerName = XRegistryAuthHeader
|
||||||
if err != nil {
|
override, authFile, err = getAuthCredentials(hdr)
|
||||||
return nil, "", errors.Wrapf(err, "failed to parse %q header for %s", XRegistryAuthHeader, r.URL.String())
|
} else {
|
||||||
}
|
return nil, "", nil
|
||||||
return c, f, nil
|
|
||||||
}
|
}
|
||||||
return nil, "", nil
|
if err != nil {
|
||||||
|
return nil, "", errors.Wrapf(err, "failed to parse %q header for %s", headerName, r.URL.String())
|
||||||
|
}
|
||||||
|
return override, authFile, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// getConfigCredentials extracts one or more docker.AuthConfig from a request and its
|
// getConfigCredentials extracts one or more docker.AuthConfig from a request and its
|
||||||
|
Reference in New Issue
Block a user