aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/containers/image/v5/docker/errors.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/containers/image/v5/docker/errors.go')
-rw-r--r--vendor/github.com/containers/image/v5/docker/errors.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/vendor/github.com/containers/image/v5/docker/errors.go b/vendor/github.com/containers/image/v5/docker/errors.go
index f626cc7da..5b5008af7 100644
--- a/vendor/github.com/containers/image/v5/docker/errors.go
+++ b/vendor/github.com/containers/image/v5/docker/errors.go
@@ -44,3 +44,17 @@ func httpResponseToError(res *http.Response, context string) error {
return perrors.Errorf("%sinvalid status code from registry %d (%s)", context, res.StatusCode, http.StatusText(res.StatusCode))
}
}
+
+// registryHTTPResponseToError creates a Go error from an HTTP error response of a docker/distribution
+// registry
+func registryHTTPResponseToError(res *http.Response) error {
+ errResponse := client.HandleErrorResponse(res)
+ if e, ok := perrors.Cause(errResponse).(*client.UnexpectedHTTPResponseError); ok {
+ response := string(e.Response)
+ if len(response) > 50 {
+ response = response[:50] + "..."
+ }
+ errResponse = fmt.Errorf("StatusCode: %d, %s", e.StatusCode, response)
+ }
+ return errResponse
+}