From 6a7b887957d22fa870ad4dcf88a134dee526264e Mon Sep 17 00:00:00 2001 From: chrislu Date: Fri, 21 Nov 2025 11:53:31 -0800 Subject: [PATCH] remove SeaweedFSIsDirectoryKey --- weed/s3api/s3_constants/header.go | 1 - weed/server/filer_server_handlers_read.go | 9 +++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/weed/s3api/s3_constants/header.go b/weed/s3api/s3_constants/header.go index bcd3e5e05..7505e8eca 100644 --- a/weed/s3api/s3_constants/header.go +++ b/weed/s3api/s3_constants/header.go @@ -45,7 +45,6 @@ const ( AmzObjectTaggingDirective = "X-Amz-Tagging-Directive" AmzTagCount = "x-amz-tagging-count" - SeaweedFSIsDirectoryKey = "X-Seaweedfs-Is-Directory-Key" SeaweedFSPartNumber = "X-Seaweedfs-Part-Number" SeaweedFSUploadId = "X-Seaweedfs-Upload-Id" SeaweedFSMultipartPartsCount = "X-Seaweedfs-Multipart-Parts-Count" diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go index 052256ed2..977220842 100644 --- a/weed/server/filer_server_handlers_read.go +++ b/weed/server/filer_server_handlers_read.go @@ -122,13 +122,9 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request) writeJsonQuiet(w, r, http.StatusOK, entry) return } - // S3 API requests never reach filer HTTP handlers (they use gRPC + direct volume server access). // For S3-created directories (FolderMimeType), return the directory object metadata itself - // rather than listing contents. This allows S3 clients to GET directory objects they created. - if entry.Attr.Mime == s3_constants.FolderMimeType { - // S3-created directory object - return metadata - w.Header().Set(s3_constants.SeaweedFSIsDirectoryKey, "true") - } else if entry.Attr.Mime == "" { + // rather than listing contents. Regular filer directories show listings. + if entry.Attr.Mime == "" { // Regular filer directory - show listing if enabled if !fs.option.ExposeDirectoryData { writeJsonError(w, r, http.StatusForbidden, errors.New("directory listing is disabled")) @@ -137,6 +133,7 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request) fs.listDirectoryHandler(w, r) return } + // S3-created directory object (FolderMimeType) - fall through to serve metadata } if isForDirectory && entry.Attr.Mime != s3_constants.FolderMimeType {