| package registry |
| |
| import ( |
| "net/url" |
| |
| "github.com/docker/distribution/registry/api/errcode" |
| ) |
| |
| type notFoundError string |
| |
| func (e notFoundError) Error() string { |
| return string(e) |
| } |
| |
| func (notFoundError) NotFound() {} |
| |
| type validationError struct { |
| cause error |
| } |
| |
| func (e validationError) Error() string { |
| return e.cause.Error() |
| } |
| |
| func (e validationError) InvalidParameter() {} |
| |
| func (e validationError) Cause() error { |
| return e.cause |
| } |
| |
| type unauthorizedError struct { |
| cause error |
| } |
| |
| func (e unauthorizedError) Error() string { |
| return e.cause.Error() |
| } |
| |
| func (e unauthorizedError) Unauthorized() {} |
| |
| func (e unauthorizedError) Cause() error { |
| return e.cause |
| } |
| |
| type systemError struct { |
| cause error |
| } |
| |
| func (e systemError) Error() string { |
| return e.cause.Error() |
| } |
| |
| func (e systemError) SystemError() {} |
| |
| func (e systemError) Cause() error { |
| return e.cause |
| } |
| |
| type notActivatedError struct { |
| cause error |
| } |
| |
| func (e notActivatedError) Error() string { |
| return e.cause.Error() |
| } |
| |
| func (e notActivatedError) Forbidden() {} |
| |
| func (e notActivatedError) Cause() error { |
| return e.cause |
| } |
| |
| func translateV2AuthError(err error) error { |
| switch e := err.(type) { |
| case *url.Error: |
| switch e2 := e.Err.(type) { |
| case errcode.Error: |
| switch e2.Code { |
| case errcode.ErrorCodeUnauthorized: |
| return unauthorizedError{err} |
| } |
| } |
| } |
| |
| return err |
| } |