Struct: s3.ListObjectsV2Paginator

import "../ibm-cos-sdk-go-v2/service/s3"

Overview

ListObjectsV2Paginator is a paginator for ListObjectsV2

Implemented Interfaces

types.AnalyticsFilter, v4.HTTPPresigner, s3.HTTPPresignerV4, types.MetricsFilter, s3.PresignPost, arn.S3ObjectLambdaARN, types.SelectObjectContentEventStream

Method Summary collapse

Method Details

func (p *ListObjectsV2Paginator) HasMorePages() bool

HasMorePages returns a boolean indicating whether more pages are available



501
502
503
// File 'service/s3/api_op_ListObjectsV2.go', line 501

func (p *ListObjectsV2Paginator) HasMorePages() bool { return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0) }

func (p *ListObjectsV2Paginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListObjectsV2Output, error)

NextPage retrieves the next ListObjectsV2 page.



506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
// File 'service/s3/api_op_ListObjectsV2.go', line 506

func (p *ListObjectsV2Paginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListObjectsV2Output, error) { if !p.HasMorePages() { return nil, fmt.Errorf("no more pages available") } params := *p.params params.ContinuationToken = p.nextToken var limit *int32 if p.options.Limit > 0 { limit = &p.options.Limit } params.MaxKeys = limit optFns = append([]func(*Options){ addIsPaginatorUserAgent, }, optFns...) result, err := p.client.ListObjectsV2(ctx, ¶ms, optFns...) if err != nil { return nil, err } p.firstPage = false prevToken := p.nextToken p.nextToken = nil if result.IsTruncated != nil && *result.IsTruncated { p.nextToken = result.NextContinuationToken } if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { p.nextToken = nil } return result, nil }