use Core::PagedResponse (#2158)
* use Core::PagedResponse * null if continuation token is empty
This commit is contained in:
parent
fe9002e905
commit
8a369f5e27
@ -2,6 +2,9 @@
|
||||
|
||||
## 12.0.0-beta.11 (Unreleased)
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- Renamed `HasMorePages()` in paged response to `HasPage()`.
|
||||
|
||||
## 12.0.0-beta.10 (2021-04-16)
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include <azure/core/operation.hpp>
|
||||
#include <azure/storage/common/paged_response.hpp>
|
||||
#include <azure/core/paged_response.hpp>
|
||||
|
||||
#include "azure/storage/blobs/blob_options.hpp"
|
||||
#include "azure/storage/blobs/protocol/blob_rest_client.hpp"
|
||||
@ -118,7 +118,8 @@ namespace Azure { namespace Storage {
|
||||
friend class Blobs::PageBlobClient;
|
||||
};
|
||||
|
||||
class ListBlobContainersPagedResponse : public PagedResponse<ListBlobContainersPagedResponse> {
|
||||
class ListBlobContainersPagedResponse
|
||||
: public Azure::Core::PagedResponse<ListBlobContainersPagedResponse> {
|
||||
public:
|
||||
std::string ServiceEndpoint;
|
||||
std::string Prefix;
|
||||
@ -135,7 +136,8 @@ namespace Azure { namespace Storage {
|
||||
friend class Files::DataLake::ListFileSystemsPagedResponse;
|
||||
};
|
||||
|
||||
class FindBlobsByTagsPagedResponse : public PagedResponse<FindBlobsByTagsPagedResponse> {
|
||||
class FindBlobsByTagsPagedResponse
|
||||
: public Azure::Core::PagedResponse<FindBlobsByTagsPagedResponse> {
|
||||
public:
|
||||
std::string ServiceEndpoint;
|
||||
std::vector<Models::TaggedBlobItem> TaggedBlobs;
|
||||
@ -151,7 +153,7 @@ namespace Azure { namespace Storage {
|
||||
friend class PagedResponse<FindBlobsByTagsPagedResponse>;
|
||||
};
|
||||
|
||||
class ListBlobsPagedResponse : public PagedResponse<ListBlobsPagedResponse> {
|
||||
class ListBlobsPagedResponse : public Azure::Core::PagedResponse<ListBlobsPagedResponse> {
|
||||
public:
|
||||
std::string ServiceEndpoint;
|
||||
std::string BlobContainerName;
|
||||
@ -169,7 +171,7 @@ namespace Azure { namespace Storage {
|
||||
};
|
||||
|
||||
class ListBlobsByHierarchyPagedResponse
|
||||
: public PagedResponse<ListBlobsByHierarchyPagedResponse> {
|
||||
: public Azure::Core::PagedResponse<ListBlobsByHierarchyPagedResponse> {
|
||||
public:
|
||||
std::string ServiceEndpoint;
|
||||
std::string BlobContainerName;
|
||||
@ -189,7 +191,8 @@ namespace Azure { namespace Storage {
|
||||
friend class PagedResponse<ListBlobsByHierarchyPagedResponse>;
|
||||
};
|
||||
|
||||
class GetPageRangesPagedResponse : public PagedResponse<GetPageRangesPagedResponse> {
|
||||
class GetPageRangesPagedResponse
|
||||
: public Azure::Core::PagedResponse<GetPageRangesPagedResponse> {
|
||||
public:
|
||||
Azure::ETag ETag;
|
||||
Azure::DateTime LastModified;
|
||||
@ -206,7 +209,8 @@ namespace Azure { namespace Storage {
|
||||
friend class PagedResponse<GetPageRangesPagedResponse>;
|
||||
};
|
||||
|
||||
class GetPageRangesDiffPagedResponse : public PagedResponse<GetPageRangesDiffPagedResponse> {
|
||||
class GetPageRangesDiffPagedResponse
|
||||
: public Azure::Core::PagedResponse<GetPageRangesDiffPagedResponse> {
|
||||
public:
|
||||
Azure::ETag ETag;
|
||||
Azure::DateTime LastModified;
|
||||
|
||||
@ -270,7 +270,7 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
pagedResponse.m_blobContainerClient = std::make_shared<BlobContainerClient>(*this);
|
||||
pagedResponse.m_operationOptions = options;
|
||||
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken;
|
||||
pagedResponse.RawResponse = std::move(response.RawResponse);
|
||||
|
||||
return pagedResponse;
|
||||
@ -323,7 +323,7 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
pagedResponse.m_operationOptions = options;
|
||||
pagedResponse.m_delimiter = delimiter;
|
||||
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken;
|
||||
pagedResponse.RawResponse = std::move(response.RawResponse);
|
||||
|
||||
return pagedResponse;
|
||||
|
||||
@ -138,7 +138,7 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
pagedResponse.m_blobServiceClient = std::make_shared<BlobServiceClient>(*this);
|
||||
pagedResponse.m_operationOptions = options;
|
||||
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken;
|
||||
pagedResponse.RawResponse = std::move(response.RawResponse);
|
||||
|
||||
return pagedResponse;
|
||||
@ -220,7 +220,7 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
pagedResponse.m_operationOptions = options;
|
||||
pagedResponse.m_tagFilterSqlExpression = tagFilterSqlExpression;
|
||||
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken;
|
||||
pagedResponse.RawResponse = std::move(response.RawResponse);
|
||||
|
||||
return pagedResponse;
|
||||
|
||||
@ -279,7 +279,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
|
||||
Azure::Storage::Blobs::ListBlobsOptions options;
|
||||
options.Prefix = blobName;
|
||||
for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasMorePages();
|
||||
for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasPage();
|
||||
pageResponse.MoveToNextPage())
|
||||
{
|
||||
for (const auto& blob : pageResponse.Blobs)
|
||||
@ -310,7 +310,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
EXPECT_TRUE(getPropertiesResult.Value.IsSealed.HasValue());
|
||||
EXPECT_TRUE(getPropertiesResult.Value.IsSealed.Value());
|
||||
|
||||
for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasMorePages();
|
||||
for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasPage();
|
||||
pageResponse.MoveToNextPage())
|
||||
{
|
||||
for (const auto& blob : pageResponse.Blobs)
|
||||
|
||||
@ -162,7 +162,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
Azure::Storage::Blobs::ListBlobsOptions options;
|
||||
options.PageSizeHint = 4;
|
||||
std::set<std::string> listBlobs;
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
EXPECT_FALSE(pageResult.RawResponse->GetHeaders().at(_internal::HttpHeaderRequestId).empty());
|
||||
@ -214,7 +214,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
|
||||
options.Prefix = prefix1;
|
||||
listBlobs.clear();
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
for (const auto& blob : pageResult.Blobs)
|
||||
@ -248,7 +248,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
options.Prefix = prefix;
|
||||
std::set<std::string> items;
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobsByHierarchy(delimiter, options);
|
||||
pageResult.HasMorePages();
|
||||
pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
EXPECT_EQ(pageResult.Delimiter, delimiter);
|
||||
@ -266,7 +266,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
{
|
||||
options.Prefix = p + delimiter;
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobsByHierarchy(delimiter, options);
|
||||
pageResult.HasMorePages();
|
||||
pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
EXPECT_EQ(pageResult.Delimiter, delimiter);
|
||||
@ -307,7 +307,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
bool foundDeleted = false;
|
||||
bool foundMetadata = false;
|
||||
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
for (const auto& blob : pageResult.Blobs)
|
||||
@ -730,7 +730,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
for (int i = 0; i < 30; ++i)
|
||||
{
|
||||
for (auto pageResult = blobServiceClient.FindBlobsByTags(whereExpression);
|
||||
pageResult.HasMorePages();
|
||||
pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
EXPECT_FALSE(pageResult.ServiceEndpoint.empty());
|
||||
|
||||
@ -110,8 +110,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
Azure::Storage::Blobs::ListBlobContainersOptions options;
|
||||
options.PageSizeHint = 4;
|
||||
std::set<std::string> listContainers;
|
||||
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options);
|
||||
pageResult.HasMorePages();
|
||||
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
EXPECT_FALSE(pageResult.RawResponse->GetHeaders().at(_internal::HttpHeaderRequestId).empty());
|
||||
@ -132,8 +131,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
|
||||
options.Prefix = prefix1;
|
||||
listContainers.clear();
|
||||
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options);
|
||||
pageResult.HasMorePages();
|
||||
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
EXPECT_FALSE(pageResult.RawResponse->GetHeaders().at(_internal::HttpHeaderRequestId).empty());
|
||||
@ -367,8 +365,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
Azure::Storage::Blobs::ListBlobContainersOptions options;
|
||||
options.Prefix = containerName;
|
||||
options.Include = Blobs::Models::ListBlobContainersIncludeFlags::Deleted;
|
||||
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options);
|
||||
pageResult.HasMorePages();
|
||||
for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
for (const auto& container : pageResult.BlobContainers)
|
||||
|
||||
@ -154,7 +154,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
|
||||
Azure::Storage::Blobs::ListBlobsOptions options;
|
||||
options.Prefix = m_blobName;
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
for (const auto& blob : pageResult.Blobs)
|
||||
@ -322,7 +322,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
Azure::Storage::Blobs::ListBlobsOptions options;
|
||||
options.Prefix = blobName;
|
||||
options.Include = Blobs::Models::ListBlobsIncludeFlags::Versions;
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
for (const auto& blob : pageResult.Blobs)
|
||||
@ -976,7 +976,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
|
||||
Azure::Storage::Blobs::ListBlobsOptions options;
|
||||
options.Prefix = blobName;
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
for (const auto& blob : pageResult.Blobs)
|
||||
@ -1002,7 +1002,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
EXPECT_FALSE(properties.IsAccessTierInferred.Value());
|
||||
EXPECT_TRUE(properties.AccessTierChangedOn.HasValue());
|
||||
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages();
|
||||
for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
for (const auto& blob : pageResult.Blobs)
|
||||
|
||||
@ -100,7 +100,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
EXPECT_EQ(ReadBodyStream(downloadContent.Value.BodyStream), blobContent);
|
||||
|
||||
std::vector<Core::Http::HttpRange> pageRanges;
|
||||
for (auto pageResult = pageBlobClient.GetPageRanges(); pageResult.HasMorePages();
|
||||
for (auto pageResult = pageBlobClient.GetPageRanges(); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
pageRanges.insert(
|
||||
@ -115,7 +115,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
options.Range.Value().Offset = 4_KB;
|
||||
options.Range.Value().Length = 1_KB;
|
||||
pageRanges.clear();
|
||||
for (auto pageResult = pageBlobClient.GetPageRanges(options); pageResult.HasMorePages();
|
||||
for (auto pageResult = pageBlobClient.GetPageRanges(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
pageRanges.insert(
|
||||
@ -135,7 +135,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
|
||||
pageRanges.clear();
|
||||
std::vector<Core::Http::HttpRange> clearRanges;
|
||||
for (auto pageResult = pageBlobClient.GetPageRangesDiff(snapshot); pageResult.HasMorePages();
|
||||
for (auto pageResult = pageBlobClient.GetPageRangesDiff(snapshot); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
pageRanges.insert(
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
## 12.0.0-beta.11 (Unreleased)
|
||||
|
||||
- Removed `Azure::PagedResponse<T>`.
|
||||
|
||||
## 12.0.0-beta.10 (2021-04-16)
|
||||
|
||||
|
||||
@ -38,7 +38,6 @@ set(
|
||||
inc/azure/storage/common/crypt.hpp
|
||||
inc/azure/storage/common/dll_import_export.hpp
|
||||
inc/azure/storage/common/file_io.hpp
|
||||
inc/azure/storage/common/paged_response.hpp
|
||||
inc/azure/storage/common/reliable_stream.hpp
|
||||
inc/azure/storage/common/shared_key_policy.hpp
|
||||
inc/azure/storage/common/storage_common.hpp
|
||||
|
||||
@ -1,47 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <cstdlib>
|
||||
#include <string>
|
||||
|
||||
#include <azure/core/context.hpp>
|
||||
#include <azure/core/http/raw_response.hpp>
|
||||
|
||||
namespace Azure {
|
||||
|
||||
template <class Derived> class PagedResponse {
|
||||
public:
|
||||
std::string CurrentPageToken;
|
||||
std::string NextPageToken;
|
||||
std::unique_ptr<Azure::Core::Http::RawResponse> RawResponse;
|
||||
|
||||
bool HasMorePages() const { return m_hasMorePages; }
|
||||
|
||||
void MoveToNextPage(const Azure::Core::Context& context = Azure::Core::Context())
|
||||
{
|
||||
static_assert(
|
||||
std::is_base_of<PagedResponse, Derived>::value,
|
||||
"The template argument \"Derived\" should derive from PagedResponse<Derived>.");
|
||||
|
||||
if (NextPageToken.empty())
|
||||
{
|
||||
m_hasMorePages = false;
|
||||
return;
|
||||
}
|
||||
// Developer of Derived class should make sure current page is kept unchanged if OnNextPage()
|
||||
// throws exception.
|
||||
static_cast<Derived*>(this)->OnNextPage(context);
|
||||
}
|
||||
|
||||
protected:
|
||||
PagedResponse() = default;
|
||||
PagedResponse(PagedResponse&&) = default;
|
||||
PagedResponse& operator=(PagedResponse&&) = default;
|
||||
|
||||
private:
|
||||
bool m_hasMorePages = true;
|
||||
};
|
||||
|
||||
} // namespace Azure
|
||||
@ -2,6 +2,9 @@
|
||||
|
||||
## 12.0.0-beta.11 (Unreleased)
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- Renamed `HasMorePages()` in paged response to `HasPage()`.
|
||||
|
||||
## 12.0.0-beta.10 (2021-04-16)
|
||||
|
||||
|
||||
@ -252,7 +252,8 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
|
||||
} // namespace Models
|
||||
|
||||
class ListFileSystemsPagedResponse : public PagedResponse<ListFileSystemsPagedResponse> {
|
||||
class ListFileSystemsPagedResponse
|
||||
: public Azure::Core::PagedResponse<ListFileSystemsPagedResponse> {
|
||||
public:
|
||||
std::string ServiceEndpoint;
|
||||
std::string Prefix;
|
||||
@ -268,7 +269,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
friend class PagedResponse<ListFileSystemsPagedResponse>;
|
||||
};
|
||||
|
||||
class ListPathsPagedResponse : public PagedResponse<ListPathsPagedResponse> {
|
||||
class ListPathsPagedResponse : public Azure::Core::PagedResponse<ListPathsPagedResponse> {
|
||||
public:
|
||||
std::vector<Models::PathItem> Paths;
|
||||
|
||||
|
||||
@ -246,7 +246,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
pagedResponse.Paths = std::move(response.Value.Items);
|
||||
pagedResponse.m_onNextPageFunc = func;
|
||||
pagedResponse.CurrentPageToken = continuationToken;
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken;
|
||||
pagedResponse.RawResponse = std::move(response.RawResponse);
|
||||
|
||||
return pagedResponse;
|
||||
|
||||
@ -292,7 +292,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
pagedResponse.Paths = std::move(response.Value.Items);
|
||||
pagedResponse.m_onNextPageFunc = func;
|
||||
pagedResponse.CurrentPageToken = continuationToken;
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken;
|
||||
pagedResponse.RawResponse = std::move(response.RawResponse);
|
||||
|
||||
return pagedResponse;
|
||||
|
||||
@ -89,7 +89,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
|
||||
void ListPathsPagedResponse::OnNextPage(const Azure::Core::Context& context)
|
||||
{
|
||||
*this = m_onNextPageFunc(NextPageToken, context);
|
||||
*this = m_onNextPageFunc(NextPageToken.Value(), context);
|
||||
}
|
||||
|
||||
}}}} // namespace Azure::Storage::Files::DataLake
|
||||
|
||||
@ -65,7 +65,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
if (directory.empty())
|
||||
{
|
||||
for (auto pageResult = m_fileSystemClient->ListPaths(recursive, options);
|
||||
pageResult.HasMorePages();
|
||||
pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
result.insert(result.end(), pageResult.Paths.begin(), pageResult.Paths.end());
|
||||
@ -74,8 +74,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
else
|
||||
{
|
||||
auto directoryClient = m_fileSystemClient->GetDirectoryClient(directory);
|
||||
for (auto pageResult = directoryClient.ListPaths(recursive, options);
|
||||
pageResult.HasMorePages();
|
||||
for (auto pageResult = directoryClient.ListPaths(recursive, options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
result.insert(result.end(), pageResult.Paths.begin(), pageResult.Paths.end());
|
||||
|
||||
@ -63,8 +63,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
{
|
||||
options.Prefix = prefix;
|
||||
}
|
||||
for (auto pageResult = m_dataLakeServiceClient->ListFileSystems(options);
|
||||
pageResult.HasMorePages();
|
||||
for (auto pageResult = m_dataLakeServiceClient->ListFileSystems(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
result.insert(result.end(), pageResult.FileSystems.begin(), pageResult.FileSystems.end());
|
||||
|
||||
@ -2,6 +2,9 @@
|
||||
|
||||
## 12.0.0-beta.11 (Unreleased)
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- Renamed `HasMorePages()` in paged response to `HasPage()`.
|
||||
|
||||
## 12.0.0-beta.10 (2021-04-16)
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <azure/core/operation.hpp>
|
||||
#include <azure/storage/common/paged_response.hpp>
|
||||
#include <azure/core/paged_response.hpp>
|
||||
|
||||
#include "azure/storage/files/shares/protocol/share_rest_client.hpp"
|
||||
#include "azure/storage/files/shares/share_constants.hpp"
|
||||
@ -192,7 +192,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
friend class ShareFileClient;
|
||||
};
|
||||
|
||||
class ListSharesPagedResponse : public PagedResponse<ListSharesPagedResponse> {
|
||||
class ListSharesPagedResponse : public Azure::Core::PagedResponse<ListSharesPagedResponse> {
|
||||
public:
|
||||
std::string ServiceEndpoint;
|
||||
std::string Prefix;
|
||||
@ -209,7 +209,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
};
|
||||
|
||||
class ListFilesAndDirectoriesPagedResponse
|
||||
: public PagedResponse<ListFilesAndDirectoriesPagedResponse> {
|
||||
: public Azure::Core::PagedResponse<ListFilesAndDirectoriesPagedResponse> {
|
||||
public:
|
||||
std::string ServiceEndpoint;
|
||||
std::string ShareName;
|
||||
@ -229,7 +229,8 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
friend class PagedResponse<ListFilesAndDirectoriesPagedResponse>;
|
||||
};
|
||||
|
||||
class ListFileHandlesPagedResponse : public PagedResponse<ListFileHandlesPagedResponse> {
|
||||
class ListFileHandlesPagedResponse
|
||||
: public Azure::Core::PagedResponse<ListFileHandlesPagedResponse> {
|
||||
public:
|
||||
std::vector<Models::HandleItem> FileHandles;
|
||||
|
||||
@ -244,7 +245,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
};
|
||||
|
||||
class ListDirectoryHandlesPagedResponse
|
||||
: public PagedResponse<ListDirectoryHandlesPagedResponse> {
|
||||
: public Azure::Core::PagedResponse<ListDirectoryHandlesPagedResponse> {
|
||||
public:
|
||||
std::vector<Models::HandleItem> DirectoryHandles;
|
||||
|
||||
|
||||
@ -313,7 +313,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
pagedResponse.m_shareDirectoryClient = std::make_shared<ShareDirectoryClient>(*this);
|
||||
pagedResponse.m_operationOptions = options;
|
||||
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken;
|
||||
pagedResponse.RawResponse = std::move(response.RawResponse);
|
||||
|
||||
return pagedResponse;
|
||||
@ -339,7 +339,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
pagedResponse.m_shareDirectoryClient = std::make_shared<ShareDirectoryClient>(*this);
|
||||
pagedResponse.m_operationOptions = options;
|
||||
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken;
|
||||
pagedResponse.RawResponse = std::move(response.RawResponse);
|
||||
|
||||
return pagedResponse;
|
||||
|
||||
@ -600,7 +600,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
pagedResponse.m_shareFileClient = std::make_shared<ShareFileClient>(*this);
|
||||
pagedResponse.m_operationOptions = options;
|
||||
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken;
|
||||
pagedResponse.RawResponse = std::move(response.RawResponse);
|
||||
|
||||
return pagedResponse;
|
||||
|
||||
@ -104,7 +104,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
pagedResponse.m_shareServiceClient = std::make_shared<ShareServiceClient>(*this);
|
||||
pagedResponse.m_operationOptions = options;
|
||||
pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string());
|
||||
pagedResponse.NextPageToken = response.Value.ContinuationToken;
|
||||
pagedResponse.RawResponse = std::move(response.RawResponse);
|
||||
|
||||
return pagedResponse;
|
||||
|
||||
@ -442,7 +442,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
for (auto pageResult = Files::Shares::ShareServiceClient::CreateFromConnectionString(
|
||||
StandardStorageConnectionString())
|
||||
.ListShares(listOptions);
|
||||
pageResult.HasMorePages();
|
||||
pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
shareItems.insert(shareItems.end(), pageResult.Shares.begin(), pageResult.Shares.end());
|
||||
@ -485,7 +485,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
for (auto pageResult = Files::Shares::ShareServiceClient::CreateFromConnectionString(
|
||||
PremiumFileConnectionString())
|
||||
.ListShares(listOptions);
|
||||
pageResult.HasMorePages();
|
||||
pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
shareItems.insert(shareItems.end(), pageResult.Shares.begin(), pageResult.Shares.end());
|
||||
|
||||
@ -57,8 +57,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
}
|
||||
auto directoryClient
|
||||
= m_shareClient->GetRootDirectoryClient().GetSubdirectoryClient(directoryPath);
|
||||
for (auto pageResult = directoryClient.ListFilesAndDirectories(options);
|
||||
pageResult.HasMorePages();
|
||||
for (auto pageResult = directoryClient.ListFilesAndDirectories(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
directoryResult.insert(
|
||||
@ -436,8 +435,8 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
{
|
||||
auto result = m_fileShareDirectoryClient->ListHandles();
|
||||
EXPECT_TRUE(result.DirectoryHandles.empty());
|
||||
EXPECT_TRUE(result.NextPageToken.empty());
|
||||
for (auto pageResult = m_fileShareDirectoryClient->ListHandles(); pageResult.HasMorePages();
|
||||
EXPECT_FALSE(result.NextPageToken.HasValue());
|
||||
for (auto pageResult = m_fileShareDirectoryClient->ListHandles(); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
}
|
||||
|
||||
@ -262,9 +262,9 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
{
|
||||
auto result = m_fileClient->ListHandles();
|
||||
EXPECT_TRUE(result.FileHandles.empty());
|
||||
EXPECT_TRUE(result.NextPageToken.empty());
|
||||
EXPECT_FALSE(result.NextPageToken.HasValue());
|
||||
|
||||
for (auto pageResult = m_fileClient->ListHandles(); pageResult.HasMorePages();
|
||||
for (auto pageResult = m_fileClient->ListHandles(); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
{
|
||||
options.Prefix = prefix;
|
||||
}
|
||||
for (auto pageResult = m_fileShareServiceClient->ListShares(options); pageResult.HasMorePages();
|
||||
for (auto pageResult = m_fileShareServiceClient->ListShares(options); pageResult.HasPage();
|
||||
pageResult.MoveToNextPage())
|
||||
{
|
||||
result.insert(result.end(), pageResult.Shares.begin(), pageResult.Shares.end());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user