diff --git a/cli/registry/client/fetcher.go b/cli/registry/client/fetcher.go index 190aada58c..ef8011d1fb 100644 --- a/cli/registry/client/fetcher.go +++ b/cli/registry/client/fetcher.go @@ -3,7 +3,6 @@ package client import ( "context" "encoding/json" - "fmt" "github.com/docker/cli/cli/manifest/types" "github.com/docker/distribution" @@ -128,7 +127,7 @@ func validateManifestDigest(ref reference.Named, mfst distribution.Manifest) (oc // If pull by digest, then verify the manifest digest. if digested, isDigested := ref.(reference.Canonical); isDigested { if digested.Digest() != desc.Digest { - err := fmt.Errorf("manifest verification failed for digest %s", digested.Digest()) + err := errors.Errorf("manifest verification failed for digest %s", digested.Digest()) return ocispec.Descriptor{}, err } } @@ -156,7 +155,7 @@ func pullManifestList(ctx context.Context, ref reference.Named, repo distributio } v, ok := manifest.(*schema2.DeserializedManifest) if !ok { - return nil, fmt.Errorf("unsupported manifest format: %v", v) + return nil, errors.Errorf("unsupported manifest format: %v", v) } manifestRef, err := reference.WithDigest(ref, manifestDescriptor.Digest) @@ -278,27 +277,17 @@ func allEndpoints(namedRef reference.Named, insecure bool) ([]registry.APIEndpoi return endpoints, err } -type notFoundError struct { - object string +func newNotFoundError(ref string) *notFoundError { + return ¬FoundError{err: errors.New("no such manifest: " + ref)} } -func newNotFoundError(ref string) *notFoundError { - return ¬FoundError{object: ref} +type notFoundError struct { + err error } func (n *notFoundError) Error() string { - return fmt.Sprintf("no such manifest: %s", n.object) + return n.err.Error() } -// NotFound interface +// NotFound satisfies interface github.com/docker/docker/errdefs.ErrNotFound func (n *notFoundError) NotFound() {} - -// IsNotFound returns true if the error is a not found error -func IsNotFound(err error) bool { - _, ok := err.(notFound) - return ok -} - -type notFound interface { - NotFound() -}