mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-09-21 00:55:09 +08:00
s3: report metadata if the directory is explicitly created (#3498)
* replace mkdir to mkFile * ContentLength must be zero * revert mkDir * Seaweedfs-Is-Directory-Key return metadata
This commit is contained in:

committed by
GitHub

parent
c57c79a0ab
commit
f7aeb06544
@@ -93,13 +93,15 @@ func (s3a *S3ApiServer) PutObjectHandler(w http.ResponseWriter, r *http.Request)
|
||||
defer dataReader.Close()
|
||||
|
||||
objectContentType := r.Header.Get("Content-Type")
|
||||
if strings.HasSuffix(object, "/") {
|
||||
if err := s3a.mkdir(s3a.option.BucketsPath, bucket+strings.TrimSuffix(object, "/"), func(entry *filer_pb.Entry) {
|
||||
if objectContentType == "" {
|
||||
objectContentType = "httpd/unix-directory"
|
||||
}
|
||||
entry.Attributes.Mime = objectContentType
|
||||
}); err != nil {
|
||||
if strings.HasSuffix(object, "/") && r.ContentLength == 0 {
|
||||
if err := s3a.mkdir(
|
||||
s3a.option.BucketsPath, bucket+strings.TrimSuffix(object, "/"),
|
||||
func(entry *filer_pb.Entry) {
|
||||
if objectContentType == "" {
|
||||
objectContentType = "httpd/unix-directory"
|
||||
}
|
||||
entry.Attributes.Mime = objectContentType
|
||||
}); err != nil {
|
||||
s3err.WriteErrorResponse(w, r, s3err.ErrInternalError)
|
||||
return
|
||||
}
|
||||
@@ -314,7 +316,7 @@ func (s3a *S3ApiServer) DeleteMultipleObjectsHandler(w http.ResponseWriter, r *h
|
||||
|
||||
func (s3a *S3ApiServer) doDeleteEmptyDirectories(client filer_pb.SeaweedFilerClient, directoriesWithDeletion map[string]int) (newDirectoriesWithDeletion map[string]int) {
|
||||
var allDirs []string
|
||||
for dir, _ := range directoriesWithDeletion {
|
||||
for dir := range directoriesWithDeletion {
|
||||
allDirs = append(allDirs, dir)
|
||||
}
|
||||
slices.SortFunc(allDirs, func(a, b string) bool {
|
||||
|
Reference in New Issue
Block a user