Adding error support to all commands in storage interface

This commit is contained in:
Frederick F. Kautz IV
2015-01-25 15:35:08 -08:00
parent d37bbfec41
commit 2368e7c936
5 changed files with 36 additions and 17 deletions

View File

@@ -86,12 +86,12 @@ func (storage *storage) StoreBucket(bucketName string) error {
return nil
}
func (storage *storage) ListObjects(bucket, prefix string, count int) ([]mstorage.ObjectMetadata, bool) {
func (storage *storage) ListObjects(bucket, prefix string, count int) ([]mstorage.ObjectMetadata, bool, error) {
// TODO prefix and count handling
var results []mstorage.ObjectMetadata
for key, object := range storage.objectdata {
if len(results) == count {
return results, true
return results, true, nil
}
if bucket == object.metadata.Bucket {
if strings.HasPrefix(key, bucket+":") {
@@ -99,16 +99,16 @@ func (storage *storage) ListObjects(bucket, prefix string, count int) ([]mstorag
}
}
}
return results, false
return results, false, nil
}
func (storage *storage) ListBuckets(prefix string) []mstorage.BucketMetadata {
func (storage *storage) ListBuckets(prefix string) ([]mstorage.BucketMetadata, error) {
// TODO prefix handling
var results []mstorage.BucketMetadata
for _, bucket := range storage.bucketdata {
results = append(results, bucket.metadata)
}
return results
return results, nil
}
func Start() (chan<- string, <-chan error, *storage) {