Make sure in API we handle all error type exclusively, and return certain values exclusively

This commit is contained in:
Harshavardhana
2015-03-31 20:26:14 -07:00
parent 0491e1bbf1
commit a56098b8c9
3 changed files with 39 additions and 3 deletions

View File

@@ -118,6 +118,13 @@ func (d donutDriver) GetPartialObject(w io.Writer, bucket, object string, start,
// GetObjectMetadata retrieves an object's metadata
func (d donutDriver) GetObjectMetadata(bucket, key string, prefix string) (drivers.ObjectMetadata, error) {
metadata, err := d.donut.GetObjectMetadata(bucket, key)
if err != nil {
// return ObjectNotFound quickly on an error, API needs this to handle invalid requests
return drivers.ObjectMetadata{}, drivers.ObjectNotFound{
Bucket: bucket,
Object: key,
}
}
created, err := time.Parse(time.RFC3339Nano, metadata["sys.created"])
if err != nil {
return drivers.ObjectMetadata{}, err