Move manifest store errors to where they happen
							parent
							
								
									6cbd22c5f0
								
							
						
					
					
						commit
						49d13f9a08
					
				|  | @ -3,59 +3,12 @@ package storage | |||
| import ( | ||||
| 	"crypto/x509" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"github.com/Sirupsen/logrus" | ||||
| 
 | ||||
| 	"github.com/docker/libtrust" | ||||
| 
 | ||||
| 	"github.com/docker/docker-registry/digest" | ||||
| 	"github.com/docker/libtrust" | ||||
| ) | ||||
| 
 | ||||
| // ErrUnknownRepository is returned if the named repository is not known by
 | ||||
| // the registry.
 | ||||
| type ErrUnknownRepository struct { | ||||
| 	Name string | ||||
| } | ||||
| 
 | ||||
| func (err ErrUnknownRepository) Error() string { | ||||
| 	return fmt.Sprintf("unknown respository name=%s", err.Name) | ||||
| } | ||||
| 
 | ||||
| // ErrUnknownManifest is returned if the manifest is not known by the
 | ||||
| // registry.
 | ||||
| type ErrUnknownManifest struct { | ||||
| 	Name string | ||||
| 	Tag  string | ||||
| } | ||||
| 
 | ||||
| func (err ErrUnknownManifest) Error() string { | ||||
| 	return fmt.Sprintf("unknown manifest name=%s tag=%s", err.Name, err.Tag) | ||||
| } | ||||
| 
 | ||||
| // ErrManifestUnverified is returned when the registry is unable to verify
 | ||||
| // the manifest.
 | ||||
| type ErrManifestUnverified struct{} | ||||
| 
 | ||||
| func (ErrManifestUnverified) Error() string { | ||||
| 	return fmt.Sprintf("unverified manifest") | ||||
| } | ||||
| 
 | ||||
| // ErrManifestVerification provides a type to collect errors encountered
 | ||||
| // during manifest verification. Currently, it accepts errors of all types,
 | ||||
| // but it may be narrowed to those involving manifest verification.
 | ||||
| type ErrManifestVerification []error | ||||
| 
 | ||||
| func (errs ErrManifestVerification) Error() string { | ||||
| 	var parts []string | ||||
| 	for _, err := range errs { | ||||
| 		parts = append(parts, err.Error()) | ||||
| 	} | ||||
| 
 | ||||
| 	return fmt.Sprintf("errors verifying manifest: %v", strings.Join(parts, ",")) | ||||
| } | ||||
| 
 | ||||
| // Versioned provides a struct with just the manifest schemaVersion. Incoming
 | ||||
| // content with unknown schema version can be decoded against this struct to
 | ||||
| // check the version.
 | ||||
|  |  | |||
|  | @ -4,11 +4,55 @@ import ( | |||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"path" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"github.com/docker/docker-registry/storagedriver" | ||||
| 	"github.com/docker/libtrust" | ||||
| ) | ||||
| 
 | ||||
| // ErrUnknownRepository is returned if the named repository is not known by
 | ||||
| // the registry.
 | ||||
| type ErrUnknownRepository struct { | ||||
| 	Name string | ||||
| } | ||||
| 
 | ||||
| func (err ErrUnknownRepository) Error() string { | ||||
| 	return fmt.Sprintf("unknown respository name=%s", err.Name) | ||||
| } | ||||
| 
 | ||||
| // ErrUnknownManifest is returned if the manifest is not known by the
 | ||||
| // registry.
 | ||||
| type ErrUnknownManifest struct { | ||||
| 	Name string | ||||
| 	Tag  string | ||||
| } | ||||
| 
 | ||||
| func (err ErrUnknownManifest) Error() string { | ||||
| 	return fmt.Sprintf("unknown manifest name=%s tag=%s", err.Name, err.Tag) | ||||
| } | ||||
| 
 | ||||
| // ErrManifestUnverified is returned when the registry is unable to verify
 | ||||
| // the manifest.
 | ||||
| type ErrManifestUnverified struct{} | ||||
| 
 | ||||
| func (ErrManifestUnverified) Error() string { | ||||
| 	return fmt.Sprintf("unverified manifest") | ||||
| } | ||||
| 
 | ||||
| // ErrManifestVerification provides a type to collect errors encountered
 | ||||
| // during manifest verification. Currently, it accepts errors of all types,
 | ||||
| // but it may be narrowed to those involving manifest verification.
 | ||||
| type ErrManifestVerification []error | ||||
| 
 | ||||
| func (errs ErrManifestVerification) Error() string { | ||||
| 	var parts []string | ||||
| 	for _, err := range errs { | ||||
| 		parts = append(parts, err.Error()) | ||||
| 	} | ||||
| 
 | ||||
| 	return fmt.Sprintf("errors verifying manifest: %v", strings.Join(parts, ",")) | ||||
| } | ||||
| 
 | ||||
| type manifestStore struct { | ||||
| 	driver       storagedriver.StorageDriver | ||||
| 	pathMapper   *pathMapper | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue