From 405f6b5255aa4c2707b4f43a9417b2abb534f915 Mon Sep 17 00:00:00 2001 From: chrislu Date: Mon, 17 Nov 2025 02:09:30 -0800 Subject: [PATCH] CommonPrefixes Sorting with URL Encoding --- weed/s3api/s3api_object_handlers_list.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/weed/s3api/s3api_object_handlers_list.go b/weed/s3api/s3api_object_handlers_list.go index 9e6376a0e..614863a78 100644 --- a/weed/s3api/s3api_object_handlers_list.go +++ b/weed/s3api/s3api_object_handlers_list.go @@ -7,6 +7,7 @@ import ( "io" "net/http" "net/url" + "sort" "strconv" "strings" @@ -351,8 +352,8 @@ func (s3a *S3ApiServer) listFilerEntries(bucket string, originalPrefix string, m CommonPrefixes: commonPrefixes, } if encodingTypeUrl { - // Todo used for pass test_bucket_listv2_encoding_basic - // sort.Slice(response.CommonPrefixes, func(i, j int) bool { return response.CommonPrefixes[i].Prefix < response.CommonPrefixes[j].Prefix }) + // Sort CommonPrefixes lexicographically to match AWS S3 behavior + sort.Slice(response.CommonPrefixes, func(i, j int) bool { return response.CommonPrefixes[i].Prefix < response.CommonPrefixes[j].Prefix }) response.EncodingType = s3.EncodingTypeUrl } return nil