1
0
Fork 0
mirror of https://github.com/chrislusf/seaweedfs synced 2024-05-29 23:00:36 +02:00

Merge pull request #1077 from iliul/fix-commonprefix-issue

s3 api: fix listbucket common_prefixes issue
This commit is contained in:
Chris Lu 2019-09-29 12:05:03 -07:00 committed by GitHub
commit 8599442ab1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 4 deletions

View file

@ -91,6 +91,11 @@ func (s3a *S3ApiServer) completeMultipartUpload(ctx context.Context, input *s3.C
}
dirName = fmt.Sprintf("%s/%s/%s", s3a.option.BucketsPath, *input.Bucket, dirName)
// remove suffix '/'
if strings.HasSuffix(dirName, "/") {
dirName = dirName[:len(dirName)-1]
}
err = s3a.mkFile(ctx, dirName, entryName, finalParts)
if err != nil {

View file

@ -125,9 +125,11 @@ func (s3a *S3ApiServer) listFilerEntries(ctx context.Context, bucket, originalPr
}
lastEntryName = entry.Name
if entry.IsDirectory {
commonPrefixes = append(commonPrefixes, PrefixEntry{
Prefix: fmt.Sprintf("%s%s/", dir, entry.Name),
})
if entry.Name != ".uploads" {
commonPrefixes = append(commonPrefixes, PrefixEntry{
Prefix: fmt.Sprintf("%s%s/", dir, entry.Name),
})
}
} else {
contents = append(contents, ListEntry{
Key: fmt.Sprintf("%s%s", dir, entry.Name),

View file

@ -675,7 +675,7 @@ type PostResponse struct {
}
type PrefixEntry struct {
Prefix string `xml:"http://s3.amazonaws.com/doc/2006-03-01/ Prefix"`
Prefix string `xml:"Prefix"`
}
type PutObject struct {