1
0
Fork 0
mirror of https://github.com/chrislusf/seaweedfs synced 2024-06-30 22:31:06 +02:00

fix pagination

This commit is contained in:
Konstantin Lebedev 2022-07-01 14:17:49 +05:00
parent 06a8b174b5
commit 3d5f1cbc5e

View file

@ -254,8 +254,12 @@ func (s3a *S3ApiServer) doListFilerEntries(client filer_pb.SeaweedFilerClient, d
sepIndex := strings.Index(marker, "/") sepIndex := strings.Index(marker, "/")
if sepIndex != -1 { if sepIndex != -1 {
subPrefix, subMarker := marker[0:sepIndex], marker[sepIndex+1:] subPrefix, subMarker := marker[0:sepIndex], marker[sepIndex+1:]
subDir := fmt.Sprintf("%s/%s", dir[0:bucketPrefixLen-1], subPrefix) var subDir string
if strings.HasPrefix(subDir, dir) { if len(dir) > bucketPrefixLen && dir[bucketPrefixLen:] == subPrefix {
subDir = dir
} else {
subDir = fmt.Sprintf("%s/%s", dir, subPrefix)
}
subCounter, subIsTruncated, subNextMarker, subErr := s3a.doListFilerEntries(client, subDir, "", maxKeys, subMarker, delimiter, false, false, bucketPrefixLen, eachEntryFn) subCounter, subIsTruncated, subNextMarker, subErr := s3a.doListFilerEntries(client, subDir, "", maxKeys, subMarker, delimiter, false, false, bucketPrefixLen, eachEntryFn)
if subErr != nil { if subErr != nil {
err = subErr err = subErr
@ -269,7 +273,6 @@ func (s3a *S3ApiServer) doListFilerEntries(client filer_pb.SeaweedFilerClient, d
marker = subPrefix marker = subPrefix
} }
} }
}
if maxKeys <= 0 { if maxKeys <= 0 {
return return
} }