diff options
| author | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2023-04-11 19:36:22 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-11 07:36:22 -0700 |
| commit | 130bc3e66839cd514a60f0f58600c7432ebf1564 (patch) | |
| tree | d26e5b4dbf57140c4b494519ab5b9b238c068779 /weed/server | |
| parent | d1ce89950ea2784a6d4a01e6a0132f44a2e4ee38 (diff) | |
| download | seaweedfs-130bc3e66839cd514a60f0f58600c7432ebf1564.tar.xz seaweedfs-130bc3e66839cd514a60f0f58600c7432ebf1564.zip | |
s3 fix get fake dir object key (#4390)
Diffstat (limited to 'weed/server')
| -rw-r--r-- | weed/server/filer_server_handlers_read.go | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go index 99ac77498..c023dbe88 100644 --- a/weed/server/filer_server_handlers_read.go +++ b/weed/server/filer_server_handlers_read.go @@ -15,8 +15,6 @@ import ( "strings" "time" - "golang.org/x/exp/slices" - "github.com/seaweedfs/seaweedfs/weed/filer" "github.com/seaweedfs/seaweedfs/weed/glog" "github.com/seaweedfs/seaweedfs/weed/images" @@ -120,7 +118,8 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request) writeJsonQuiet(w, r, http.StatusOK, entry) return } - if slices.Contains([]string{"httpd/unix-directory", ""}, entry.Attr.Mime) { + if entry.Attr.Mime == "" || (entry.Attr.Mime == s3_constants.FolderMimeType && r.Header.Get(s3_constants.AmzIdentityId) == "") { + // return index of directory for non s3 gateway fs.listDirectoryHandler(w, r) return } @@ -128,7 +127,7 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request) w.Header().Set(s3_constants.X_SeaweedFS_Header_Directory_Key, "true") } - if isForDirectory { + if isForDirectory && entry.Attr.Mime != s3_constants.FolderMimeType { w.WriteHeader(http.StatusNotFound) return } |
