mirror of
https://github.com/versity/versitygw.git
synced 2026-09-19 14:34:19 +00:00
Merge pull request #1415 from versity/sis/listbuckets-region
fix: adds bucket region in ListBuckets result
This commit is contained in:
@@ -51,6 +51,8 @@ const (
|
||||
minPartNumber = 1
|
||||
maxPartNumber = 10000
|
||||
defaultMaxBuckets = int32(10000)
|
||||
|
||||
defaultRegion = "us-east-1"
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
@@ -30,6 +30,10 @@ func (c S3ApiController) ListBuckets(ctx *fiber.Ctx) (*Response, error) {
|
||||
prefix := ctx.Query("prefix")
|
||||
maxBucketsStr := ctx.Query("max-buckets")
|
||||
acct := utils.ContextKeyAccount.Get(ctx).(auth.Account)
|
||||
region, ok := utils.ContextKeyRegion.Get(ctx).(string)
|
||||
if !ok {
|
||||
region = defaultRegion
|
||||
}
|
||||
|
||||
maxBuckets := defaultMaxBuckets
|
||||
if maxBucketsStr != "" {
|
||||
@@ -51,8 +55,15 @@ func (c S3ApiController) ListBuckets(ctx *fiber.Ctx) (*Response, error) {
|
||||
ContinuationToken: cToken,
|
||||
Prefix: prefix,
|
||||
})
|
||||
if err != nil {
|
||||
return &Response{}, err
|
||||
}
|
||||
|
||||
for i := range res.Buckets.Bucket {
|
||||
res.Buckets.Bucket[i].BucketRegion = region
|
||||
}
|
||||
|
||||
return &Response{
|
||||
Data: res,
|
||||
MetaOpts: &MetaOptions{},
|
||||
}, err
|
||||
Data: res,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -58,15 +58,12 @@ func TestS3ApiController_ListBuckets(t *testing.T) {
|
||||
name: "backend returns error",
|
||||
input: testInput{
|
||||
locals: defaultLocals,
|
||||
beRes: validRes,
|
||||
beErr: s3err.GetAPIError(s3err.ErrNoSuchBucket),
|
||||
beRes: s3response.ListAllMyBucketsResult{},
|
||||
},
|
||||
output: testOutput{
|
||||
response: &Response{
|
||||
Data: validRes,
|
||||
MetaOpts: &MetaOptions{},
|
||||
},
|
||||
err: s3err.GetAPIError(s3err.ErrNoSuchBucket),
|
||||
response: &Response{},
|
||||
err: s3err.GetAPIError(s3err.ErrNoSuchBucket),
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -80,8 +77,7 @@ func TestS3ApiController_ListBuckets(t *testing.T) {
|
||||
},
|
||||
output: testOutput{
|
||||
response: &Response{
|
||||
Data: validRes,
|
||||
MetaOpts: &MetaOptions{},
|
||||
Data: validRes,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user