Improve ListObject Compatibility (#18099)

Do not error out when a provided marker is before or after the prefix, but instead just ignore it if before and return an empty list when after.

Fixes #18093
This commit is contained in:
Klaus Post
2023-09-25 08:13:08 -07:00
committed by GitHub
parent 57f84a8b4c
commit 21e8e071d7
7 changed files with 56 additions and 75 deletions
+4
View File
@@ -60,6 +60,10 @@ func (z *erasureServerPools) listPath(ctx context.Context, o *listPathOptions) (
if err := checkListObjsArgs(ctx, o.Bucket, o.Prefix, o.Marker, z); err != nil {
return entries, err
}
// Marker points to before the prefix, just ignore it.
if o.Marker < o.Prefix {
o.Marker = ""
}
// Marker is set validate pre-condition.
if o.Marker != "" && o.Prefix != "" {