Fix login prompt on push and pull because of error message

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
This commit is contained in:
Michael Crosby 2014-02-03 11:38:34 -08:00
parent 88d66600b3
commit 0fa9199f78
2 changed files with 5 additions and 5 deletions

View file

@ -1047,7 +1047,7 @@ func (cli *DockerCli) CmdPush(args ...string) error {
}
if err := push(authConfig); err != nil {
if err.Error() == registry.ErrLoginRequired.Error() {
if strings.Contains(err.Error(), "Status 401") {
fmt.Fprintln(cli.out, "\nPlease login prior to push:")
if err := cli.CmdLogin(endpoint); err != nil {
return err
@ -1106,7 +1106,7 @@ func (cli *DockerCli) CmdPull(args ...string) error {
}
if err := pull(authConfig); err != nil {
if err.Error() == registry.ErrLoginRequired.Error() {
if strings.Contains(err.Error(), "Status 401") {
fmt.Fprintln(cli.out, "\nPlease login prior to pull:")
if err := cli.CmdLogin(endpoint); err != nil {
return err

View file

@ -22,7 +22,7 @@ import (
var (
ErrAlreadyExists = errors.New("Image already exists")
ErrInvalidRepositoryName = errors.New("Invalid repository name (ex: \"registry.domain.tld/myrepos\")")
ErrLoginRequired = errors.New("Authentication is required.")
errLoginRequired = errors.New("Authentication is required.")
)
func pingRegistryEndpoint(endpoint string) (bool, error) {
@ -186,7 +186,7 @@ func (r *Registry) GetRemoteHistory(imgID, registry string, token []string) ([]s
defer res.Body.Close()
if res.StatusCode != 200 {
if res.StatusCode == 401 {
return nil, ErrLoginRequired
return nil, errLoginRequired
}
return nil, utils.NewHTTPRequestError(fmt.Sprintf("Server error: %d trying to fetch remote history for %s", res.StatusCode, imgID), res)
}
@ -332,7 +332,7 @@ func (r *Registry) GetRepositoryData(remote string) (*RepositoryData, error) {
}
defer res.Body.Close()
if res.StatusCode == 401 {
return nil, ErrLoginRequired
return nil, errLoginRequired
}
// TODO: Right now we're ignoring checksums in the response body.
// In the future, we need to use them to check image validity.