- commit
- 6530b86
- parent
- b3098e1
- author
- Eric Bower
- date
- 2025-01-09 13:01:06 -0500 EST
fix(storage): check for empty metadata
2 files changed,
+8,
-10
1@@ -3,7 +3,6 @@ package storage
2 import (
3 "fmt"
4 "io"
5- "net/http"
6 "os"
7 "path/filepath"
8 "strings"
9@@ -25,14 +24,14 @@ func NewStorageFS(dir string) (*StorageFS, error) {
10
11 func (s *StorageFS) ServeObject(bucket sst.Bucket, fpath string, opts *ImgProcessOpts) (io.ReadCloser, *sst.ObjectInfo, error) {
12 var rc io.ReadCloser
13- info := &sst.ObjectInfo{
14- Metadata: make(http.Header),
15- UserMetadata: map[string]string{},
16- }
17+ info := &sst.ObjectInfo{}
18 var err error
19 mimeType := GetMimeType(fpath)
20 if !strings.HasPrefix(mimeType, "image/") || opts == nil || os.Getenv("IMGPROXY_URL") == "" {
21 rc, info, err = s.GetObject(bucket, fpath)
22+ if info.Metadata == nil {
23+ info.Metadata = map[string][]string{}
24+ }
25 // StorageFS never returns a content-type.
26 info.Metadata.Set("content-type", mimeType)
27 } else {
1@@ -3,7 +3,6 @@ package storage
2 import (
3 "fmt"
4 "io"
5- "net/http"
6 "os"
7 "path/filepath"
8 "strings"
9@@ -25,14 +24,14 @@ func NewStorageMinio(address, user, pass string) (*StorageMinio, error) {
10
11 func (s *StorageMinio) ServeObject(bucket sst.Bucket, fpath string, opts *ImgProcessOpts) (io.ReadCloser, *sst.ObjectInfo, error) {
12 var rc io.ReadCloser
13- info := &sst.ObjectInfo{
14- Metadata: make(http.Header),
15- UserMetadata: map[string]string{},
16- }
17+ info := &sst.ObjectInfo{}
18 var err error
19 mimeType := GetMimeType(fpath)
20 if !strings.HasPrefix(mimeType, "image/") || opts == nil || os.Getenv("IMGPROXY_URL") == "" {
21 rc, info, err = s.GetObject(bucket, fpath)
22+ if info.Metadata == nil {
23+ info.Metadata = map[string][]string{}
24+ }
25 // Minio always returns application/octet-stream which needs to be overridden.
26 info.Metadata.Set("content-type", mimeType)
27 } else {