Browse Source

Change PutMetadata to take a Metadata type instead

It's unlikely that this function is useful if it always regenerates the
metadata. Instead, the caller should do that if it needs.
pull/171/head
mutantmonkey 7 years ago
parent
commit
45a7add822
  1. 18
      backends/localfs/localfs.go
  2. 13
      backends/s3/s3.go
  3. 2
      backends/storage.go

18
backends/localfs/localfs.go

@ -147,23 +147,7 @@ func (b LocalfsBackend) Put(key string, r io.Reader, expiry time.Time, deleteKey
return
}
func (b LocalfsBackend) PutMetadata(key string, r io.Reader, expiry time.Time, deleteKey string) (m backends.Metadata, err error) {
m, err = helpers.GenerateMetadata(r)
if err != nil {
return
}
m.Expiry = expiry
m.DeleteKey = deleteKey
filePath := path.Join(b.filesPath, key)
dst, err := os.Open(filePath)
if err != nil {
return
}
defer dst.Close()
m.ArchiveFiles, _ = helpers.ListArchiveFiles(m.Mimetype, m.Size, dst)
func (b LocalfsBackend) PutMetadata(key string, m backends.Metadata) (err error) {
err = b.writeMetadata(key, m)
if err != nil {
return

13
backends/s3/s3.go

@ -146,22 +146,12 @@ func (b S3Backend) Put(key string, r io.Reader, expiry time.Time, deleteKey stri
return
}
func (b S3Backend) PutMetadata(key string, r io.Reader, expiry time.Time, deleteKey string) (m backends.Metadata, err error) {
m, err = helpers.GenerateMetadata(r)
if err != nil {
return
}
m.Expiry = expiry
m.DeleteKey = deleteKey
// XXX: we may not be able to write this to AWS easily
//m.ArchiveFiles, _ = helpers.ListArchiveFiles(m.Mimetype, m.Size, tmpDst)
func (b S3Backend) PutMetadata(key string, m backends.Metadata) (err error) {
_, err = b.svc.CopyObject(&s3.CopyObjectInput{
Bucket: aws.String(b.bucket),
Key: aws.String(key),
CopySource: aws.String("/" + b.bucket + "/" + key),
Metadata: mapMetadata(m),
})
if err != nil {
return
@ -194,7 +184,6 @@ func (b S3Backend) List() ([]string, error) {
return nil, err
}
for _, object := range results.Contents {
output = append(output, *object.Key)
}

2
backends/storage.go

@ -12,7 +12,7 @@ type StorageBackend interface {
Head(key string) (Metadata, error)
Get(key string) (Metadata, io.ReadCloser, error)
Put(key string, r io.Reader, expiry time.Time, deleteKey string) (Metadata, error)
PutMetadata(key string, r io.Reader, expiry time.Time, deleteKey string) (Metadata, error)
PutMetadata(key string, m Metadata) error
Size(key string) (int64, error)
}

Loading…
Cancel
Save