forked from TrueCloudLab/distribution
80 lines
2.2 KiB
Go
80 lines
2.2 KiB
Go
|
package client
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
|
||
|
"github.com/docker/distribution/digest"
|
||
|
)
|
||
|
|
||
|
// RepositoryNotFoundError is returned when making an operation against a
|
||
|
// repository that does not exist in the registry.
|
||
|
type RepositoryNotFoundError struct {
|
||
|
Name string
|
||
|
}
|
||
|
|
||
|
func (e *RepositoryNotFoundError) Error() string {
|
||
|
return fmt.Sprintf("No repository found with Name: %s", e.Name)
|
||
|
}
|
||
|
|
||
|
// ImageManifestNotFoundError is returned when making an operation against a
|
||
|
// given image manifest that does not exist in the registry.
|
||
|
type ImageManifestNotFoundError struct {
|
||
|
Name string
|
||
|
Tag string
|
||
|
}
|
||
|
|
||
|
func (e *ImageManifestNotFoundError) Error() string {
|
||
|
return fmt.Sprintf("No manifest found with Name: %s, Tag: %s",
|
||
|
e.Name, e.Tag)
|
||
|
}
|
||
|
|
||
|
// BlobNotFoundError is returned when making an operation against a given image
|
||
|
// layer that does not exist in the registry.
|
||
|
type BlobNotFoundError struct {
|
||
|
Name string
|
||
|
Digest digest.Digest
|
||
|
}
|
||
|
|
||
|
func (e *BlobNotFoundError) Error() string {
|
||
|
return fmt.Sprintf("No blob found with Name: %s, Digest: %s",
|
||
|
e.Name, e.Digest)
|
||
|
}
|
||
|
|
||
|
// BlobUploadNotFoundError is returned when making a blob upload operation against an
|
||
|
// invalid blob upload location url.
|
||
|
// This may be the result of using a cancelled, completed, or stale upload
|
||
|
// location.
|
||
|
type BlobUploadNotFoundError struct {
|
||
|
Location string
|
||
|
}
|
||
|
|
||
|
func (e *BlobUploadNotFoundError) Error() string {
|
||
|
return fmt.Sprintf("No blob upload found at Location: %s", e.Location)
|
||
|
}
|
||
|
|
||
|
// BlobUploadInvalidRangeError is returned when attempting to upload an image
|
||
|
// blob chunk that is out of order.
|
||
|
// This provides the known BlobSize and LastValidRange which can be used to
|
||
|
// resume the upload.
|
||
|
type BlobUploadInvalidRangeError struct {
|
||
|
Location string
|
||
|
LastValidRange int
|
||
|
BlobSize int
|
||
|
}
|
||
|
|
||
|
func (e *BlobUploadInvalidRangeError) Error() string {
|
||
|
return fmt.Sprintf(
|
||
|
"Invalid range provided for upload at Location: %s. Last Valid Range: %d, Blob Size: %d",
|
||
|
e.Location, e.LastValidRange, e.BlobSize)
|
||
|
}
|
||
|
|
||
|
// UnexpectedHTTPStatusError is returned when an unexpected HTTP status is
|
||
|
// returned when making a registry api call.
|
||
|
type UnexpectedHTTPStatusError struct {
|
||
|
Status string
|
||
|
}
|
||
|
|
||
|
func (e *UnexpectedHTTPStatusError) Error() string {
|
||
|
return fmt.Sprintf("Received unexpected HTTP status: %s", e.Status)
|
||
|
}
|