diff --git a/docs/session_v2.go b/docs/session_v2.go index dbef7df1..da5371d8 100644 --- a/docs/session_v2.go +++ b/docs/session_v2.go @@ -128,6 +128,8 @@ func (r *Session) HeadV2ImageBlob(ep *Endpoint, imageName, sumType, sum string, case res.StatusCode >= 200 && res.StatusCode < 400: // return something indicating no push needed return true, nil + case res.StatusCode == 401: + return false, errLoginRequired case res.StatusCode == 404: // return something indicating blob push needed return false, nil diff --git a/docs/token.go b/docs/token.go index 25048630..c79a8ca6 100644 --- a/docs/token.go +++ b/docs/token.go @@ -51,10 +51,12 @@ func getToken(username, password string, params map[string]string, registryEndpo reqParams.Add("scope", scopeField) } - reqParams.Add("account", username) + if username != "" { + reqParams.Add("account", username) + req.SetBasicAuth(username, password) + } req.URL.RawQuery = reqParams.Encode() - req.SetBasicAuth(username, password) resp, err := client.Do(req) if err != nil {