Skip to content

Commit 3bd97c0

Browse files
authored
fix: don't send 0 max items for object version and multipart upload paginators (#2380)
1 parent b3e07aa commit 3bd97c0

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"id": "4cd717be-0079-4de6-8b97-2017a420472c",
3+
"type": "bugfix",
4+
"description": "Don't send MaxKeys/MaxUploads=0 when unspecified in ListObjectVersions and ListMultipartUploads paginators.",
5+
"modules": [
6+
"service/s3"
7+
]
8+
}

service/s3/handwritten_paginators.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ func NewListObjectVersionsPaginator(client ListObjectVersionsAPIClient, params *
4444
}
4545

4646
options := ListObjectVersionsPaginatorOptions{}
47-
options.Limit = aws.ToInt32(params.MaxKeys)
47+
if params.MaxKeys != nil {
48+
options.Limit = aws.ToInt32(params.MaxKeys)
49+
}
4850

4951
for _, fn := range optFns {
5052
fn(&options)
@@ -79,7 +81,9 @@ func (p *ListObjectVersionsPaginator) NextPage(ctx context.Context, optFns ...fu
7981
if p.options.Limit > 0 {
8082
limit = p.options.Limit
8183
}
82-
params.MaxKeys = aws.Int32(limit)
84+
if limit > 0 {
85+
params.MaxKeys = aws.Int32(limit)
86+
}
8387

8488
result, err := p.client.ListObjectVersions(ctx, &params, optFns...)
8589
if err != nil {
@@ -143,7 +147,9 @@ func NewListMultipartUploadsPaginator(client ListMultipartUploadsAPIClient, para
143147
}
144148

145149
options := ListMultipartUploadsPaginatorOptions{}
146-
options.Limit = aws.ToInt32(params.MaxUploads)
150+
if params.MaxUploads != nil {
151+
options.Limit = aws.ToInt32(params.MaxUploads)
152+
}
147153

148154
for _, fn := range optFns {
149155
fn(&options)
@@ -178,7 +184,9 @@ func (p *ListMultipartUploadsPaginator) NextPage(ctx context.Context, optFns ...
178184
if p.options.Limit > 0 {
179185
limit = p.options.Limit
180186
}
181-
params.MaxUploads = aws.Int32(limit)
187+
if limit > 0 {
188+
params.MaxUploads = aws.Int32(limit)
189+
}
182190

183191
result, err := p.client.ListMultipartUploads(ctx, &params, optFns...)
184192
if err != nil {

0 commit comments

Comments
 (0)