From e4c2d6f69b3fa83f5568047c8ae4d0f9ccc62e00 Mon Sep 17 00:00:00 2001 From: Jordan Date: Wed, 24 Jan 2024 16:24:28 -0700 Subject: presign: fix directory lists for empty prefix values (bucket root) --- pipkin.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pipkin.go b/pipkin.go index f8896ce..575d22e 100644 --- a/pipkin.go +++ b/pipkin.go @@ -72,7 +72,7 @@ type Contents struct { } // Headers we receive from clients and forward on to S3 endpoints. -var ALLOWED_REQUEST_HEADERS = []string{ +var ALLOWED_REQUEST_HEADERS = [...]string{ "accept", "accept-encoding", "accept-language", @@ -90,7 +90,7 @@ var ALLOWED_REQUEST_HEADERS = []string{ } // Headers we receive from S3 and send back to requesting clients. -var ALLOWED_RESPONSE_HEADERS = []string{ +var ALLOWED_RESPONSE_HEADERS = [...]string{ "accept-ranges", "content-encoding", "content-length", @@ -350,7 +350,7 @@ func (pk *Pipkin) presignQuery(method string, host Host, key string) (string, er uri.Add("X-Amz-Date", amzDateLong) uri.Add("X-Amz-Expires", amzExpires) uri.Add("X-Amz-SignedHeaders", amzSignedHeaders) - if amzPrefix != "" { + if strings.HasSuffix(amzResource, "/") { uri.Add("list-type", "2") uri.Add("max-keys", "50000") uri.Add("prefix", amzPrefix) -- cgit v1.2.3-54-g00ecf