From b76e8f674ad2125742c244cfc8faa417202525bf Mon Sep 17 00:00:00 2001 From: adreed-msft <49764384+adreed-msft@users.noreply.github.com> Date: Thu, 2 Dec 2021 22:02:52 -0800 Subject: [PATCH] Replace the advancer (#16354) --- sdk/storage/azblob/zc_container_client.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/sdk/storage/azblob/zc_container_client.go b/sdk/storage/azblob/zc_container_client.go index d1852ee541c6..2861cbd889d3 100644 --- a/sdk/storage/azblob/zc_container_client.go +++ b/sdk/storage/azblob/zc_container_client.go @@ -7,6 +7,8 @@ import ( "context" "time" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" + "github.com/Azure/azure-sdk-for-go/sdk/azcore" "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" ) @@ -183,6 +185,13 @@ func (c ContainerClient) ListBlobsFlat(listOptions *ContainerListBlobFlatSegment return pager } + // override the advancer + pager.advancer = func(ctx context.Context, response ContainerListBlobFlatSegmentResponse) (*policy.Request, error) { + return c.client.listBlobFlatSegmentCreateRequest(ctx, &ContainerListBlobFlatSegmentOptions{ + Marker: response.NextMarker, + }) + } + // TODO: Come Here //pager.err = func(response *azcore.Response) error { // return handleError(c.client.listBlobFlatSegmentHandleError(response)) @@ -206,8 +215,14 @@ func (c ContainerClient) ListBlobsHierarchy(delimiter string, listOptions *Conta return pager } - // TODO: Come here - //p := pager.(*listBlobsHierarchySegmentResponsePager) + // override the advancer + pager.advancer = func(ctx context.Context, response ContainerListBlobHierarchySegmentResponse) (*policy.Request, error) { + return c.client.listBlobHierarchySegmentCreateRequest(ctx, delimiter, &ContainerListBlobHierarchySegmentOptions{ + Marker: response.NextMarker, + }) + } + + // todo: come here //p.errorer = func(response *azcore.Response) error { // return handleError(c.client.listBlobHierarchySegmentHandleError(response)) //}