diff --git a/sdk/storage/azure-storage-files-datalake/CHANGELOG.md b/sdk/storage/azure-storage-files-datalake/CHANGELOG.md index ec0a0da99..db5ee1fe0 100644 --- a/sdk/storage/azure-storage-files-datalake/CHANGELOG.md +++ b/sdk/storage/azure-storage-files-datalake/CHANGELOG.md @@ -14,6 +14,7 @@ - Added `DataLakeDirectoryClient::ListPathsSinglePage` API to list DataLake paths under certain directory. - Added `Metadata`, `AccessType`, `HasImmutabilityPolicy`, `HasLegalHold`, `LeaseDuration`, `LeaseState` and `LeaseStatus` to `FileSystemItem`. - Added new type `LeaseDurationType` to indicate if a lease duration is fixed or infinite. +- Added `RequestId` in each return type for REST API calls, except for concurrent APIs. ### Breaking Changes diff --git a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_responses.hpp b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_responses.hpp index b3d4ad00c..e5e48e035 100644 --- a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_responses.hpp +++ b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_responses.hpp @@ -54,6 +54,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam std::string ETag; Azure::Core::DateTime LastModified; std::vector SignedIdentifiers; + std::string RequestId; }; // struct GetDataLakeFileSystemAccessPolicyResult using SetDataLakeFileSystemAccessPolicyResult = Blobs::Models::SetBlobContainerAccessPolicyResult; @@ -63,6 +64,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam std::string ETag; Core::DateTime LastModified; Storage::Metadata Metadata; + std::string RequestId; }; struct CreateDataLakeFileSystemResult @@ -70,11 +72,13 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam bool Created = true; std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct DeleteDataLakeFileSystemResult { bool Deleted = true; + std::string RequestId; }; using SetDataLakeFileSystemMetadataResult = Details::FileSystemCreateResult; @@ -85,6 +89,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam { bool Deleted = true; Azure::Core::Nullable ContinuationToken; + std::string RequestId; }; using AcquireDataLakeLeaseResult = Blobs::Models::AcquireBlobLeaseResult; @@ -151,6 +156,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam Azure::Core::Nullable CopyCompletedOn; Azure::Core::Nullable ExpiresOn; Azure::Core::Nullable LastAccessedOn; + std::string RequestId; }; struct GetDataLakePathAccessControlResult @@ -161,18 +167,21 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam std::string Group; std::string Permissions; std::vector Acls; + std::string RequestId; }; struct SetDataLakePathHttpHeadersResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct SetDataLakePathMetadataResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct CreateDataLakePathResult @@ -181,6 +190,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam std::string ETag; Core::DateTime LastModified; Azure::Core::Nullable FileSize; + std::string RequestId; }; using SetDataLakePathAccessControlListResult = Details::PathSetAccessControlResult; @@ -209,15 +219,18 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam Core::DateTime CreatedOn; Azure::Core::Nullable ExpiresOn; Azure::Core::Nullable LastAccessedOn; + std::string RequestId; }; struct RenameDataLakeFileResult { + std::string RequestId; }; struct DeleteDataLakeFileResult { bool Deleted = true; + std::string RequestId; }; struct DownloadDataLakeFileToResult @@ -229,6 +242,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam Storage::Metadata Metadata; Azure::Core::Nullable ServerEncrypted; Azure::Core::Nullable> EncryptionKeySha256; + std::string RequestId; }; using CreateDataLakeFileResult = CreateDataLakePathResult; @@ -238,6 +252,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam struct RenameDataLakeDirectoryResult { Azure::Core::Nullable ContinuationToken; + std::string RequestId; }; using SetDataLakeDirectoryAccessControlRecursiveResult diff --git a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/protocol/datalake_rest_client.hpp b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/protocol/datalake_rest_client.hpp index 89aefe483..78b0a20b2 100644 --- a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/protocol/datalake_rest_client.hpp +++ b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/protocol/datalake_rest_client.hpp @@ -266,7 +266,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { constexpr static const char* QueryMaxRecords = "maxrecords"; constexpr static const char* QueryComp = "comp"; constexpr static const char* HeaderVersion = "x-ms-version"; - constexpr static const char* HeaderRequestId = "x-ms-client-request-id"; + constexpr static const char* HeaderClientRequestId = "x-ms-client-request-id"; constexpr static const char* HeaderIfMatch = "if-match"; constexpr static const char* HeaderIfModifiedSince = "if-modified-since"; constexpr static const char* HeaderIfNoneMatch = "if-none-match"; @@ -299,7 +299,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { constexpr static const char* HeaderDate = "date"; constexpr static const char* HeaderETag = "etag"; constexpr static const char* HeaderLastModified = "last-modified"; - constexpr static const char* HeaderClientRequestId = "x-ms-client-request-id"; + constexpr static const char* HeaderRequestId = "x-ms-request-id"; constexpr static const char* HeaderNamespaceEnabled = "x-ms-namespace-enabled"; constexpr static const char* HeaderErrorCode = "x-ms-error-code"; constexpr static const char* HeaderContinuationToken = "x-ms-continuation"; @@ -327,6 +327,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { std::string ETag; Core::DateTime LastModified; + std::string RequestId; std::string NamespaceEnabled; }; @@ -334,23 +335,27 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct FileSystemGetPropertiesResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; std::string Properties; std::string NamespaceEnabled; }; struct FileSystemDeleteResult { + std::string RequestId; }; struct FileSystemListPathsResult { std::vector Items; + std::string RequestId; Azure::Core::Nullable ContinuationToken; }; @@ -358,6 +363,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { Azure::Core::Nullable ETag; Azure::Core::Nullable LastModified; + std::string RequestId; Azure::Core::Nullable ContinuationToken; Azure::Core::Nullable ContentLength; }; @@ -368,6 +374,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { PathHttpHeaders HttpHeaders; std::string ETag; Core::DateTime LastModified; + std::string RequestId; Azure::Core::Nullable ResourceType; Azure::Core::Nullable Properties; Azure::Core::Nullable Owner; @@ -381,6 +388,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { struct PathDeleteResult { + std::string RequestId; Azure::Core::Nullable ContinuationToken; }; @@ -388,6 +396,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct PathSetAccessControlRecursiveResult @@ -397,6 +406,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { int32_t FailureCount = int32_t(); std::vector FailedEntries; Azure::Core::Nullable ContinuationToken; + std::string RequestId; }; struct PathFlushDataResult @@ -404,10 +414,12 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { std::string ETag; Core::DateTime LastModified; int64_t ContentLength = int64_t(); + std::string RequestId; }; struct PathAppendDataResult { + std::string RequestId; Azure::Core::Nullable TransactionalContentHash; bool IsServerEncrypted = bool(); }; @@ -416,6 +428,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; class DataLakeRestClient { @@ -444,7 +457,8 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { Storage::Details::UrlEncodeQueryParameter((createOptions.Resource.Get()))); if (createOptions.ClientRequestId.HasValue()) { - request.AddHeader(Details::HeaderRequestId, createOptions.ClientRequestId.GetValue()); + request.AddHeader( + Details::HeaderClientRequestId, createOptions.ClientRequestId.GetValue()); } if (createOptions.Timeout.HasValue()) { @@ -485,7 +499,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { if (setPropertiesOptions.ClientRequestId.HasValue()) { request.AddHeader( - Details::HeaderRequestId, setPropertiesOptions.ClientRequestId.GetValue()); + Details::HeaderClientRequestId, setPropertiesOptions.ClientRequestId.GetValue()); } if (setPropertiesOptions.Timeout.HasValue()) { @@ -538,7 +552,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { if (getPropertiesOptions.ClientRequestId.HasValue()) { request.AddHeader( - Details::HeaderRequestId, getPropertiesOptions.ClientRequestId.GetValue()); + Details::HeaderClientRequestId, getPropertiesOptions.ClientRequestId.GetValue()); } if (getPropertiesOptions.Timeout.HasValue()) { @@ -573,7 +587,8 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { Storage::Details::UrlEncodeQueryParameter((deleteOptions.Resource.Get()))); if (deleteOptions.ClientRequestId.HasValue()) { - request.AddHeader(Details::HeaderRequestId, deleteOptions.ClientRequestId.GetValue()); + request.AddHeader( + Details::HeaderClientRequestId, deleteOptions.ClientRequestId.GetValue()); } if (deleteOptions.Timeout.HasValue()) { @@ -626,7 +641,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { if (listPathsOptions.ClientRequestId.HasValue()) { request.AddHeader( - Details::HeaderRequestId, listPathsOptions.ClientRequestId.GetValue()); + Details::HeaderClientRequestId, listPathsOptions.ClientRequestId.GetValue()); } if (listPathsOptions.Timeout.HasValue()) { @@ -684,6 +699,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.NamespaceEnabled = response.GetHeaders().at(Details::HeaderNamespaceEnabled); return Azure::Core::Response( std::move(result), std::move(responsePtr)); @@ -708,6 +724,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -731,6 +748,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.Properties = response.GetHeaders().at(Details::HeaderProperties); result.NamespaceEnabled = response.GetHeaders().at(Details::HeaderNamespaceEnabled); return Azure::Core::Response( @@ -752,6 +770,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { // Accepted FileSystemDeleteResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -775,6 +794,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { ? FileSystemListPathsResult() : FileSystemListPathsResultFromPathList( PathListFromJson(Azure::Core::Internal::Json::json::parse(bodyBuffer))); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); if (response.GetHeaders().find(Details::HeaderContinuationToken) != response.GetHeaders().end()) { @@ -871,7 +891,8 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { request.AddHeader(Details::HeaderContentLength, "0"); if (createOptions.ClientRequestId.HasValue()) { - request.AddHeader(Details::HeaderRequestId, createOptions.ClientRequestId.GetValue()); + request.AddHeader( + Details::HeaderClientRequestId, createOptions.ClientRequestId.GetValue()); } if (createOptions.Timeout.HasValue()) { @@ -1020,7 +1041,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { if (getPropertiesOptions.ClientRequestId.HasValue()) { request.AddHeader( - Details::HeaderRequestId, getPropertiesOptions.ClientRequestId.GetValue()); + Details::HeaderClientRequestId, getPropertiesOptions.ClientRequestId.GetValue()); } if (getPropertiesOptions.Timeout.HasValue()) { @@ -1098,7 +1119,8 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { Azure::Core::Http::Request request(Azure::Core::Http::HttpMethod::Delete, url); if (deleteOptions.ClientRequestId.HasValue()) { - request.AddHeader(Details::HeaderRequestId, deleteOptions.ClientRequestId.GetValue()); + request.AddHeader( + Details::HeaderClientRequestId, deleteOptions.ClientRequestId.GetValue()); } if (deleteOptions.Timeout.HasValue()) { @@ -1230,7 +1252,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { if (setAccessControlOptions.ClientRequestId.HasValue()) { request.AddHeader( - Details::HeaderRequestId, setAccessControlOptions.ClientRequestId.GetValue()); + Details::HeaderClientRequestId, setAccessControlOptions.ClientRequestId.GetValue()); } request.AddHeader(Details::HeaderVersion, setAccessControlOptions.ApiVersionParameter); return SetAccessControlParseResult(context, pipeline.Send(context, request)); @@ -1295,7 +1317,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { if (setAccessControlRecursiveOptions.ClientRequestId.HasValue()) { request.AddHeader( - Details::HeaderRequestId, + Details::HeaderClientRequestId, setAccessControlRecursiveOptions.ClientRequestId.GetValue()); } request.AddHeader( @@ -1426,7 +1448,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { if (flushDataOptions.ClientRequestId.HasValue()) { request.AddHeader( - Details::HeaderRequestId, flushDataOptions.ClientRequestId.GetValue()); + Details::HeaderClientRequestId, flushDataOptions.ClientRequestId.GetValue()); } request.AddHeader(Details::HeaderVersion, flushDataOptions.ApiVersionParameter); return FlushDataParseResult(context, pipeline.Send(context, request)); @@ -1495,7 +1517,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { if (appendDataOptions.ClientRequestId.HasValue()) { request.AddHeader( - Details::HeaderRequestId, appendDataOptions.ClientRequestId.GetValue()); + Details::HeaderClientRequestId, appendDataOptions.ClientRequestId.GetValue()); } request.AddHeader(Details::HeaderVersion, appendDataOptions.ApiVersionParameter); return AppendDataParseResult(context, pipeline.Send(context, request)); @@ -1530,7 +1552,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { if (setExpiryOptions.ClientRequestId.HasValue()) { request.AddHeader( - Details::HeaderRequestId, setExpiryOptions.ClientRequestId.GetValue()); + Details::HeaderClientRequestId, setExpiryOptions.ClientRequestId.GetValue()); } request.AddHeader(Details::HeaderExpiryOptions, (setExpiryOptions.XMsExpiryOption.Get())); if (setExpiryOptions.PathExpiryTime.HasValue()) @@ -1561,6 +1583,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); } + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); if (response.GetHeaders().find(Details::HeaderContinuationToken) != response.GetHeaders().end()) { @@ -1627,6 +1650,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); if (response.GetHeaders().find(Details::HeaderResourceType) != response.GetHeaders().end()) { @@ -1691,6 +1715,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { // The file was deleted. PathDeleteResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); if (response.GetHeaders().find(Details::HeaderContinuationToken) != response.GetHeaders().end()) { @@ -1719,6 +1744,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -1749,6 +1775,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { result.ContinuationToken = response.GetHeaders().at(Details::HeaderContinuationToken); } + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -1813,6 +1840,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { result.ContentLength = std::stoll(response.GetHeaders().at(Details::HeaderContentLength)); } + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -1832,6 +1860,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { // Append data to file control response. PathAppendDataResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); if (response.GetHeaders().find(Details::HeaderContentHashMd5) != response.GetHeaders().end()) { @@ -1870,6 +1899,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp index d66e809e6..a1e1100ee 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp @@ -180,6 +180,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { // At this point, there is not more exception thrown, meaning the rename is successful. Models::RenameDataLakeDirectoryResult ret; ret.ContinuationToken = std::move(result->ContinuationToken); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp index 65421a6b1..a336ca898 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp @@ -281,6 +281,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { destinationDfsUri, *m_pipeline, options.Context, protocolLayerOptions); // At this point, there is not more exception thrown, meaning the rename is successful. Models::RenameDataLakeFileResult ret; + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -294,6 +295,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { auto result = DataLakePathClient::Delete(deleteOptions); Models::DeleteDataLakeFileResult ret; ret.Deleted = true; + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -307,6 +309,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { auto result = DataLakePathClient::DeleteIfExists(deleteOptions); Models::DeleteDataLakeFileResult ret; ret.Deleted = result->Deleted; + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -345,6 +348,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { ret.CreatedOn = std::move(result->CreatedOn); ret.ExpiresOn = std::move(result->ExpiriesOn); ret.LastAccessedOn = std::move(result->LastAccessedOn); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp index 2d35af039..6defa3d67 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp @@ -214,6 +214,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { ret.ETag = std::move(result->ETag); ret.LastModified = std::move(result->LastModified); ret.Created = true; + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -249,6 +250,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { auto result = m_blobContainerClient.Delete(blobOptions); Models::DeleteDataLakeFileSystemResult ret; ret.Deleted = true; + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -285,6 +287,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { ret.ETag = std::move(result->ETag); ret.LastModified = std::move(result->LastModified); ret.Metadata = std::move(result->Metadata); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -302,6 +305,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { Models::SetDataLakeFileSystemMetadataResult ret; ret.ETag = std::move(result->ETag); ret.LastModified = std::move(result->LastModified); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -347,6 +351,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { ret.ETag = std::move(result->ETag); ret.LastModified = std::move(result->LastModified); ret.SignedIdentifiers = std::move(result->SignedIdentifiers); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -382,6 +387,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { ret.ETag = std::move(result->ETag); ret.LastModified = std::move(result->LastModified); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_path_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_path_client.cpp index 5bc1dd981..52e2e0308 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_path_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_path_client.cpp @@ -246,6 +246,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { Models::SetDataLakePathHttpHeadersResult ret; ret.ETag = std::move(result->ETag); ret.LastModified = std::move(result->LastModified); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -275,6 +276,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { ret.ETag = std::move(result->ETag.GetValue()); ret.LastModified = std::move(result->LastModified.GetValue()); ret.FileSize = std::move(result->ContentLength); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -318,6 +320,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { Models::DeleteDataLakePathResult ret; ret.ContinuationToken = std::move(result->ContinuationToken); ret.Deleted = true; + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -386,6 +389,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { ret.ExpiresOn = std::move(result->ExpiriesOn); ret.LastAccessedOn = std::move(result->LastAccessedOn); ret.FileSize = result->ContentLength; + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -427,6 +431,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { { ret.Permissions = result->Permissions.GetValue(); } + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -446,6 +451,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { Models::SetDataLakePathMetadataResult ret; ret.ETag = std::move(result->ETag); ret.LastModified = std::move(result->LastModified); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } diff --git a/sdk/storage/azure-storage-files-shares/CHANGELOG.md b/sdk/storage/azure-storage-files-shares/CHANGELOG.md index 9e0873d02..1eff9036e 100644 --- a/sdk/storage/azure-storage-files-shares/CHANGELOG.md +++ b/sdk/storage/azure-storage-files-shares/CHANGELOG.md @@ -13,6 +13,7 @@ - Renamed `ShareItems` in `ServiceListSharesSinglePageResult` to `Items`. - Added `ShareLeaseClient`, all lease related APIs are moved to `ShareLeaseClient`. - Changed lease duration to be `std::chrono::seconds`. +- Added `RequestId` in each return types for REST API calls, except for concurrent APIs. ## 12.0.0-beta.6 (2020-01-14) diff --git a/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/protocol/share_rest_client.hpp b/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/protocol/share_rest_client.hpp index eb0fea9b3..5fbba651f 100644 --- a/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/protocol/share_rest_client.hpp +++ b/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/protocol/share_rest_client.hpp @@ -466,7 +466,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { constexpr static const char* QueryRestype = "restype"; constexpr static const char* QueryComp = "comp"; constexpr static const char* HeaderVersion = "x-ms-version"; - constexpr static const char* HeaderRequestId = "x-ms-client-request-id"; constexpr static const char* HeaderContentLength = "content-length"; constexpr static const char* HeaderContentHashMd5 = "content-md5"; constexpr static const char* HeaderCopyActionAbortConstant = "x-ms-copy-action"; @@ -505,6 +504,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { constexpr static const char* HeaderSourceIfNoneMatchHashCrc64 = "x-ms-source-if-none-match-crc64"; constexpr static const char* HeaderSourceRange = "x-ms-source-range"; + constexpr static const char* HeaderRequestId = "x-ms-request-id"; constexpr static const char* HeaderErrorCode = "x-ms-error-code"; constexpr static const char* HeaderETag = "etag"; constexpr static const char* HeaderLastModified = "last-modified"; @@ -592,6 +592,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { struct ServiceSetPropertiesResult { + std::string RequestId; }; struct ServiceGetPropertiesResult @@ -600,6 +601,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Metrics MinuteMetrics; std::vector Cors; Azure::Core::Nullable Protocol; + std::string RequestId; }; struct ServiceListSharesSinglePageResult @@ -610,12 +612,14 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { int32_t PageSizeHint = int32_t(); std::vector Items; std::string ContinuationToken; + std::string RequestId; }; struct ShareCreateResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct ShareGetPropertiesResult @@ -623,6 +627,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Storage::Metadata Metadata; std::string ETag; Core::DateTime LastModified; + std::string RequestId; int64_t Quota = int64_t(); Azure::Core::Nullable ProvisionedIops; Azure::Core::Nullable ProvisionedIngressMBps; @@ -635,6 +640,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { struct ShareDeleteResult { + std::string RequestId; }; struct ShareAcquireLeaseResult @@ -643,6 +649,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Core::DateTime LastModified; Azure::Core::Nullable LeaseTime; std::string LeaseId; + std::string RequestId; }; struct ShareReleaseLeaseResult @@ -650,6 +657,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::string ETag; Core::DateTime LastModified; Azure::Core::Nullable LeaseTime; + std::string RequestId; }; struct ShareChangeLeaseResult @@ -658,6 +666,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Core::DateTime LastModified; Azure::Core::Nullable LeaseTime; std::string LeaseId; + std::string RequestId; }; struct ShareRenewLeaseResult @@ -666,6 +675,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Core::DateTime LastModified; Azure::Core::Nullable LeaseTime; std::string LeaseId; + std::string RequestId; }; struct ShareBreakLeaseResult @@ -674,6 +684,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Core::DateTime LastModified; int32_t LeaseTime = int32_t(); Azure::Core::Nullable LeaseId; + std::string RequestId; }; struct ShareCreateSnapshotResult @@ -681,28 +692,33 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::string Snapshot; std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct ShareCreatePermissionResult { + std::string RequestId; std::string FilePermissionKey; }; struct ShareGetPermissionResult { std::string Permission; + std::string RequestId; }; struct ShareSetQuotaResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct ShareSetMetadataResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct ShareGetAccessPolicyResult @@ -710,12 +726,14 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::vector SignedIdentifiers; std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct ShareSetAccessPolicyResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct ShareGetStatisticsResult @@ -723,18 +741,21 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { int64_t ShareUsageBytes = int64_t(); std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct ShareRestoreResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct DirectoryCreateResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; bool IsServerEncrypted = bool(); std::string FilePermissionKey; std::string FileAttributes; @@ -750,6 +771,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Storage::Metadata Metadata; std::string ETag; Core::DateTime LastModified; + std::string RequestId; bool IsServerEncrypted = bool(); std::string FileAttributes; Core::DateTime FileCreatedOn; @@ -762,11 +784,13 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { struct DirectoryDeleteResult { + std::string RequestId; }; struct DirectorySetPropertiesResult { std::string ETag; + std::string RequestId; Core::DateTime LastModified; bool IsServerEncrypted = bool(); std::string FilePermissionKey; @@ -781,6 +805,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { struct DirectorySetMetadataResult { std::string ETag; + std::string RequestId; bool IsServerEncrypted = bool(); }; @@ -796,6 +821,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { FilesAndDirectoriesListSinglePage SinglePage; std::string ContinuationToken; ShareFileHttpHeaders HttpHeaders; + std::string RequestId; }; struct DirectoryListHandlesResult @@ -803,10 +829,12 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::vector HandleList; std::string ContinuationToken; ShareFileHttpHeaders HttpHeaders; + std::string RequestId; }; struct DirectoryForceCloseHandlesResult { + std::string RequestId; Azure::Core::Nullable ContinuationToken; int32_t numberOfHandlesClosed = int32_t(); int32_t numberOfHandlesFailedToClose = int32_t(); @@ -816,6 +844,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { std::string ETag; Core::DateTime LastModified; + std::string RequestId; bool IsServerEncrypted = bool(); std::string FilePermissionKey; std::string FileAttributes; @@ -836,6 +865,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { int64_t FileSize; std::string ETag; Azure::Core::Nullable TransactionalContentHash; + std::string RequestId; std::string AcceptRanges; Azure::Core::Nullable CopyCompletedOn; Azure::Core::Nullable CopyStatusDescription; @@ -864,6 +894,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { int64_t ContentLength = int64_t(); ShareFileHttpHeaders HttpHeaders; std::string ETag; + std::string RequestId; Azure::Core::Nullable CopyCompletedOn; Azure::Core::Nullable CopyStatusDescription; Azure::Core::Nullable CopyId; @@ -885,12 +916,14 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { struct FileDeleteResult { + std::string RequestId; }; struct FileSetHttpHeadersResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; bool IsServerEncrypted = bool(); std::string FilePermissionKey; std::string FileAttributes; @@ -904,6 +937,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { struct FileSetMetadataResult { std::string ETag; + std::string RequestId; bool IsServerEncrypted = bool(); }; @@ -912,12 +946,14 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::string ETag; Core::DateTime LastModified; std::string LeaseId; + std::string RequestId; }; struct FileReleaseLeaseResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct FileChangeLeaseResult @@ -925,6 +961,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::string ETag; Core::DateTime LastModified; std::string LeaseId; + std::string RequestId; }; struct FileBreakLeaseResult @@ -932,6 +969,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::string ETag; Core::DateTime LastModified; Azure::Core::Nullable LeaseId; + std::string RequestId; }; struct FileUploadRangeResult @@ -939,6 +977,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::string ETag; Core::DateTime LastModified; Storage::ContentHash TransactionalContentHash; + std::string RequestId; bool IsServerEncrypted = bool(); }; @@ -947,6 +986,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::string ETag; Core::DateTime LastModified; Storage::ContentHash TransactionalContentHash; + std::string RequestId; bool IsServerEncrypted = bool(); }; @@ -957,18 +997,21 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Core::DateTime LastModified; std::string ETag; int64_t FileContentLength = int64_t(); + std::string RequestId; }; struct FileStartCopyResult { std::string ETag; Core::DateTime LastModified; + std::string RequestId; std::string CopyId; CopyStatusType CopyStatus; }; struct FileAbortCopyResult { + std::string RequestId; }; struct FileListHandlesResult @@ -976,10 +1019,12 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::vector HandleList; std::string ContinuationToken; ShareFileHttpHeaders HttpHeaders; + std::string RequestId; }; struct FileForceCloseHandlesResult { + std::string RequestId; Azure::Core::Nullable ContinuationToken; int32_t numberOfHandlesClosed = int32_t(); int32_t numberOfHandlesFailedToClose = int32_t(); @@ -1176,6 +1221,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { // Success (Accepted) ServiceSetPropertiesResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -1345,6 +1391,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { ? ServiceGetPropertiesResult() : ServiceGetPropertiesResultFromStorageServiceProperties( StorageServicePropertiesFromXml(reader)); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -1868,6 +1915,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { ? ServiceListSharesSinglePageResult() : ServiceListSharesSinglePageResultFromListSharesResponse( ListSharesResponseFromXml(reader)); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -2579,7 +2627,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Azure::Core::Nullable ProposedLeaseIdOptional; std::string ApiVersionParameter = Details::DefaultServiceApiVersion; Azure::Core::Nullable ShareSnapshot; - Azure::Core::Nullable ClientRequestId; }; static Azure::Core::Response AcquireLease( @@ -2616,11 +2663,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Storage::Details::UrlEncodeQueryParameter( acquireLeaseOptions.ShareSnapshot.GetValue())); } - if (acquireLeaseOptions.ClientRequestId.HasValue()) - { - request.AddHeader( - Details::HeaderRequestId, acquireLeaseOptions.ClientRequestId.GetValue()); - } return AcquireLeaseParseResult(context, pipeline.Send(context, request)); } @@ -2630,7 +2672,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::string LeaseIdRequired; std::string ApiVersionParameter = Details::DefaultServiceApiVersion; Azure::Core::Nullable ShareSnapshot; - Azure::Core::Nullable ClientRequestId; }; static Azure::Core::Response ReleaseLease( @@ -2660,11 +2701,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Storage::Details::UrlEncodeQueryParameter( releaseLeaseOptions.ShareSnapshot.GetValue())); } - if (releaseLeaseOptions.ClientRequestId.HasValue()) - { - request.AddHeader( - Details::HeaderRequestId, releaseLeaseOptions.ClientRequestId.GetValue()); - } return ReleaseLeaseParseResult(context, pipeline.Send(context, request)); } @@ -2675,7 +2711,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Azure::Core::Nullable ProposedLeaseIdOptional; std::string ApiVersionParameter = Details::DefaultServiceApiVersion; Azure::Core::Nullable ShareSnapshot; - Azure::Core::Nullable ClientRequestId; }; static Azure::Core::Response ChangeLease( @@ -2711,11 +2746,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Storage::Details::UrlEncodeQueryParameter( changeLeaseOptions.ShareSnapshot.GetValue())); } - if (changeLeaseOptions.ClientRequestId.HasValue()) - { - request.AddHeader( - Details::HeaderRequestId, changeLeaseOptions.ClientRequestId.GetValue()); - } return ChangeLeaseParseResult(context, pipeline.Send(context, request)); } @@ -2725,7 +2755,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::string LeaseIdRequired; std::string ApiVersionParameter = Details::DefaultServiceApiVersion; Azure::Core::Nullable ShareSnapshot; - Azure::Core::Nullable ClientRequestId; }; static Azure::Core::Response RenewLease( @@ -2755,11 +2784,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Storage::Details::UrlEncodeQueryParameter( renewLeaseOptions.ShareSnapshot.GetValue())); } - if (renewLeaseOptions.ClientRequestId.HasValue()) - { - request.AddHeader( - Details::HeaderRequestId, renewLeaseOptions.ClientRequestId.GetValue()); - } return RenewLeaseParseResult(context, pipeline.Send(context, request)); } @@ -2769,7 +2793,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Azure::Core::Nullable LeaseBreakPeriod; Azure::Core::Nullable LeaseIdOptional; std::string ApiVersionParameter = Details::DefaultServiceApiVersion; - Azure::Core::Nullable ClientRequestId; Azure::Core::Nullable ShareSnapshot; }; @@ -2802,11 +2825,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { request.AddHeader(Details::HeaderLeaseId, breakLeaseOptions.LeaseIdOptional.GetValue()); } request.AddHeader(Details::HeaderVersion, breakLeaseOptions.ApiVersionParameter); - if (breakLeaseOptions.ClientRequestId.HasValue()) - { - request.AddHeader( - Details::HeaderRequestId, breakLeaseOptions.ClientRequestId.GetValue()); - } if (breakLeaseOptions.ShareSnapshot.HasValue()) { request.GetUrl().AppendQueryParameter( @@ -3103,7 +3121,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { Azure::Core::Nullable Timeout; std::string ApiVersionParameter = Details::DefaultServiceApiVersion; - Azure::Core::Nullable ClientRequestId; Azure::Core::Nullable DeletedShareName; Azure::Core::Nullable DeletedShareVersion; }; @@ -3126,10 +3143,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::to_string(restoreOptions.Timeout.GetValue()))); } request.AddHeader(Details::HeaderVersion, restoreOptions.ApiVersionParameter); - if (restoreOptions.ClientRequestId.HasValue()) - { - request.AddHeader(Details::HeaderRequestId, restoreOptions.ClientRequestId.GetValue()); - } if (restoreOptions.DeletedShareName.HasValue()) { request.AddHeader( @@ -3157,6 +3170,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3188,6 +3202,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.Quota = std::stoll(response.GetHeaders().at(Details::HeaderQuota)); if (response.GetHeaders().find(Details::HeaderProvisionedIops) != response.GetHeaders().end()) @@ -3251,6 +3266,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { // Accepted ShareDeleteResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3279,6 +3295,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LeaseTime = std::stoi(response.GetHeaders().at(Details::HeaderLeaseTime)); } result.LeaseId = response.GetHeaders().at(Details::HeaderLeaseId); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3306,6 +3323,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { result.LeaseTime = std::stoi(response.GetHeaders().at(Details::HeaderLeaseTime)); } + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3334,6 +3352,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LeaseTime = std::stoi(response.GetHeaders().at(Details::HeaderLeaseTime)); } result.LeaseId = response.GetHeaders().at(Details::HeaderLeaseId); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3362,6 +3381,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LeaseTime = std::stoi(response.GetHeaders().at(Details::HeaderLeaseTime)); } result.LeaseId = response.GetHeaders().at(Details::HeaderLeaseId); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3393,6 +3413,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { result.LeaseId = response.GetHeaders().at(Details::HeaderLeaseId); } + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3417,6 +3438,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3436,6 +3458,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { // Success, Share level permission created. ShareCreatePermissionResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.FilePermissionKey = response.GetHeaders().at(Details::HeaderFilePermissionKey); return Azure::Core::Response( std::move(result), std::move(responsePtr)); @@ -3467,6 +3490,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { ? ShareGetPermissionResult() : ShareGetPermissionResultFromSharePermission( SharePermissionFromJson(Azure::Core::Internal::Json::json::parse(bodyBuffer))); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3506,6 +3530,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3529,6 +3554,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3557,6 +3583,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3781,6 +3808,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3864,6 +3892,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -3951,6 +3980,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -4333,6 +4363,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.IsServerEncrypted = response.GetHeaders().at(Details::HeaderRequestIsServerEncrypted) == "true"; result.FilePermissionKey = response.GetHeaders().at(Details::HeaderFilePermissionKey); @@ -4379,6 +4410,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.IsServerEncrypted = response.GetHeaders().at(Details::HeaderIsServerEncrypted) == "true"; result.FileAttributes = response.GetHeaders().at(Details::HeaderFileAttributes); @@ -4413,6 +4445,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { // Success (Accepted). DirectoryDeleteResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -4433,6 +4466,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { // Success DirectorySetPropertiesResult result; result.ETag = response.GetHeaders().at(Details::HeaderETag); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); @@ -4471,6 +4505,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { // Success (OK). DirectorySetMetadataResult result; result.ETag = response.GetHeaders().at(Details::HeaderETag); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.IsServerEncrypted = response.GetHeaders().at(Details::HeaderRequestIsServerEncrypted) == "true"; return Azure::Core::Response( @@ -4500,6 +4535,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { : DirectoryListFilesAndDirectoriesSinglePageResultFromListFilesAndDirectoriesSinglePageResponse( ListFilesAndDirectoriesSinglePageResponseFromXml(reader)); result.HttpHeaders.ContentType = response.GetHeaders().at(Details::HeaderContentType); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -4899,6 +4935,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { : DirectoryListHandlesResultFromListHandlesResponse( ListHandlesResponseFromXml(reader)); result.HttpHeaders.ContentType = response.GetHeaders().at(Details::HeaderContentType); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -5116,6 +5153,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { // Success. DirectoryForceCloseHandlesResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); if (response.GetHeaders().find(Details::HeaderContinuationToken) != response.GetHeaders().end()) { @@ -5483,7 +5521,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { int32_t LeaseDuration = int32_t(); Azure::Core::Nullable ProposedLeaseIdOptional; std::string ApiVersionParameter = Details::DefaultServiceApiVersion; - Azure::Core::Nullable ClientRequestId; }; static Azure::Core::Response AcquireLease( @@ -5512,11 +5549,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { acquireLeaseOptions.ProposedLeaseIdOptional.GetValue()); } request.AddHeader(Details::HeaderVersion, acquireLeaseOptions.ApiVersionParameter); - if (acquireLeaseOptions.ClientRequestId.HasValue()) - { - request.AddHeader( - Details::HeaderRequestId, acquireLeaseOptions.ClientRequestId.GetValue()); - } return AcquireLeaseParseResult(context, pipeline.Send(context, request)); } @@ -5525,7 +5557,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Azure::Core::Nullable Timeout; std::string LeaseIdRequired; std::string ApiVersionParameter = Details::DefaultServiceApiVersion; - Azure::Core::Nullable ClientRequestId; }; static Azure::Core::Response ReleaseLease( @@ -5547,11 +5578,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { } request.AddHeader(Details::HeaderLeaseId, releaseLeaseOptions.LeaseIdRequired); request.AddHeader(Details::HeaderVersion, releaseLeaseOptions.ApiVersionParameter); - if (releaseLeaseOptions.ClientRequestId.HasValue()) - { - request.AddHeader( - Details::HeaderRequestId, releaseLeaseOptions.ClientRequestId.GetValue()); - } return ReleaseLeaseParseResult(context, pipeline.Send(context, request)); } @@ -5561,7 +5587,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { std::string LeaseIdRequired; Azure::Core::Nullable ProposedLeaseIdOptional; std::string ApiVersionParameter = Details::DefaultServiceApiVersion; - Azure::Core::Nullable ClientRequestId; }; static Azure::Core::Response ChangeLease( @@ -5589,11 +5614,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { changeLeaseOptions.ProposedLeaseIdOptional.GetValue()); } request.AddHeader(Details::HeaderVersion, changeLeaseOptions.ApiVersionParameter); - if (changeLeaseOptions.ClientRequestId.HasValue()) - { - request.AddHeader( - Details::HeaderRequestId, changeLeaseOptions.ClientRequestId.GetValue()); - } return ChangeLeaseParseResult(context, pipeline.Send(context, request)); } @@ -5602,7 +5622,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { Azure::Core::Nullable Timeout; Azure::Core::Nullable LeaseIdOptional; std::string ApiVersionParameter = Details::DefaultServiceApiVersion; - Azure::Core::Nullable ClientRequestId; }; static Azure::Core::Response BreakLease( @@ -5627,11 +5646,6 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { request.AddHeader(Details::HeaderLeaseId, breakLeaseOptions.LeaseIdOptional.GetValue()); } request.AddHeader(Details::HeaderVersion, breakLeaseOptions.ApiVersionParameter); - if (breakLeaseOptions.ClientRequestId.HasValue()) - { - request.AddHeader( - Details::HeaderRequestId, breakLeaseOptions.ClientRequestId.GetValue()); - } return BreakLeaseParseResult(context, pipeline.Send(context, request)); } @@ -6038,6 +6052,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.IsServerEncrypted = response.GetHeaders().at(Details::HeaderRequestIsServerEncrypted) == "true"; result.FilePermissionKey = response.GetHeaders().at(Details::HeaderFilePermissionKey); @@ -6147,6 +6162,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.HttpHeaders.ContentLanguage = response.GetHeaders().at(Details::HeaderContentLanguage); } + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.AcceptRanges = response.GetHeaders().at(Details::HeaderAcceptRanges); if (response.GetHeaders().find(Details::HeaderCopyCompletedOn) != response.GetHeaders().end()) @@ -6306,6 +6322,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.HttpHeaders.ContentLanguage = response.GetHeaders().at(Details::HeaderContentLanguage); } + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.AcceptRanges = response.GetHeaders().at(Details::HeaderAcceptRanges); if (response.GetHeaders().find(Details::HeaderCopyCompletedOn) != response.GetHeaders().end()) @@ -6453,6 +6470,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.HttpHeaders.ContentLanguage = response.GetHeaders().at(Details::HeaderContentLanguage); } + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); if (response.GetHeaders().find(Details::HeaderCopyCompletedOn) != response.GetHeaders().end()) { @@ -6542,6 +6560,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { // Success (Accepted). FileDeleteResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -6565,6 +6584,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.IsServerEncrypted = response.GetHeaders().at(Details::HeaderRequestIsServerEncrypted) == "true"; result.FilePermissionKey = response.GetHeaders().at(Details::HeaderFilePermissionKey); @@ -6600,6 +6620,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { // Success (OK). FileSetMetadataResult result; result.ETag = response.GetHeaders().at(Details::HeaderETag); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.IsServerEncrypted = response.GetHeaders().at(Details::HeaderRequestIsServerEncrypted) == "true"; return Azure::Core::Response( @@ -6626,6 +6647,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); result.LeaseId = response.GetHeaders().at(Details::HeaderLeaseId); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -6649,6 +6671,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -6673,6 +6696,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); result.LeaseId = response.GetHeaders().at(Details::HeaderLeaseId); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -6700,6 +6724,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { result.LeaseId = response.GetHeaders().at(Details::HeaderLeaseId); } + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -6730,6 +6755,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { response.GetHeaders().at(Details::HeaderTransactionalContentHashMd5), HashAlgorithm::Md5); } + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); if (response.GetHeaders().find(Details::HeaderRequestIsServerEncrypted) != response.GetHeaders().end()) { @@ -6762,6 +6788,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.TransactionalContentHash = Storage::Details::FromBase64String( response.GetHeaders().at(Details::HeaderTransactionalContentHashCrc64), HashAlgorithm::Crc64); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); result.IsServerEncrypted = response.GetHeaders().at(Details::HeaderRequestIsServerEncrypted) == "true"; return Azure::Core::Response( @@ -6794,6 +6821,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.ETag = response.GetHeaders().at(Details::HeaderETag); result.FileContentLength = std::stoll(response.GetHeaders().at(Details::HeaderXMsContentLength)); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -6895,6 +6923,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { result.LastModified = Core::DateTime::Parse( response.GetHeaders().at(Details::HeaderLastModified), Core::DateTime::DateFormat::Rfc1123); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); if (response.GetHeaders().find(Details::HeaderCopyId) != response.GetHeaders().end()) { result.CopyId = response.GetHeaders().at(Details::HeaderCopyId); @@ -6924,6 +6953,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { // The delete request was accepted and the file will be deleted. FileAbortCopyResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -6949,6 +6979,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { ? FileListHandlesResult() : FileListHandlesResultFromListHandlesResponse(ListHandlesResponseFromXml(reader)); result.HttpHeaders.ContentType = response.GetHeaders().at(Details::HeaderContentType); + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); return Azure::Core::Response( std::move(result), std::move(responsePtr)); } @@ -7166,6 +7197,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { // Success. FileForceCloseHandlesResult result; + result.RequestId = response.GetHeaders().at(Details::HeaderRequestId); if (response.GetHeaders().find(Details::HeaderContinuationToken) != response.GetHeaders().end()) { diff --git a/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_responses.hpp b/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_responses.hpp index 5f3ed11a5..a0f834576 100644 --- a/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_responses.hpp +++ b/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_responses.hpp @@ -21,11 +21,13 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { names bool Created = true; std::string ETag; Core::DateTime LastModified; + std::string RequestId; }; struct DeleteShareResult { bool Deleted = true; + std::string RequestId; }; using CreateShareSnapshotResult = Details::ShareCreateSnapshotResult; using GetSharePropertiesResult = Details::ShareGetPropertiesResult; @@ -56,11 +58,13 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { names Core::DateTime FileChangedOn; std::string FileId; std::string FileParentId; + std::string RequestId; }; struct DeleteShareDirectoryResult { bool Deleted = true; + std::string RequestId; }; using GetShareDirectoryPropertiesResult = Details::DirectoryGetPropertiesResult; @@ -84,12 +88,14 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { names std::string ContinuationToken; std::vector DirectoryItems; std::vector FileItems; + std::string RequestId; }; struct ListShareDirectoryHandlesSinglePageResult { std::vector Handles; std::string ContinuationToken; + std::string RequestId; }; // FileClient models: @@ -106,11 +112,13 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { names Core::DateTime FileChangedOn; std::string FileId; std::string FileParentId; + std::string RequestId; }; struct DeleteShareFileResult { bool Deleted = true; + std::string RequestId; }; struct FileShareSmbProperties @@ -160,15 +168,18 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { names ShareFileHttpHeaders HttpHeaders; Storage::Metadata Metadata; bool IsServerEncrypted = false; + std::string RequestId; }; struct ForceCloseShareFileHandleResult { + std::string RequestId; }; struct UploadShareFileFromResult { bool IsServerEncrypted = false; + std::string RequestId; }; }}}}} // namespace Azure::Storage::Files::Shares::Models diff --git a/sdk/storage/azure-storage-files-shares/src/share_client.cpp b/sdk/storage/azure-storage-files-shares/src/share_client.cpp index e0f5b15eb..f5f801c01 100644 --- a/sdk/storage/azure-storage-files-shares/src/share_client.cpp +++ b/sdk/storage/azure-storage-files-shares/src/share_client.cpp @@ -121,6 +121,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { ret.Created = true; ret.ETag = std::move(result->ETag); ret.LastModified = std::move(result->LastModified); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -138,6 +139,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { Models::CreateShareResult ret; ret.Created = false; + ret.RequestId = std::move(e.RequestId); return Azure::Core::Response( std::move(ret), std::move(e.RawResponse)); } @@ -157,6 +159,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { m_shareUrl, *m_pipeline, options.Context, protocolLayerOptions); Models::DeleteShareResult ret; ret.Deleted = true; + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -174,6 +177,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { Models::DeleteShareResult ret; ret.Deleted = false; + ret.RequestId = std::move(e.RequestId); return Azure::Core::Response( std::move(ret), std::move(e.RawResponse)); } @@ -286,6 +290,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { ret.ContinuationToken = std::move(result->ContinuationToken); ret.DirectoryItems = std::move(result->SinglePage.DirectoryItems); ret.FileItems = std::move(result->SinglePage.FileItems); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); diff --git a/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp b/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp index 2c6bb7fdb..653b9273a 100644 --- a/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp +++ b/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp @@ -181,6 +181,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { ret.FileParentId = std::move(result->FileParentId); ret.IsServerEncrypted = result->IsServerEncrypted; ret.LastModified = std::move(result->LastModified); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); @@ -200,6 +201,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { Models::CreateShareDirectoryResult ret; ret.Created = false; + ret.RequestId = std::move(e.RequestId); return Azure::Core::Response( std::move(ret), std::move(e.RawResponse)); } @@ -233,6 +235,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { Models::DeleteShareDirectoryResult ret; ret.Deleted = false; + ret.RequestId = std::move(e.RequestId); return Azure::Core::Response( std::move(ret), std::move(e.RawResponse)); } diff --git a/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp b/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp index b9ae71c1f..ac98196d2 100644 --- a/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp +++ b/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp @@ -199,6 +199,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { ret.FileParentId = std::move(result->FileParentId); ret.IsServerEncrypted = result->IsServerEncrypted; ret.LastModified = std::move(result->LastModified); + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); @@ -213,6 +214,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { m_shareFileUrl, *m_pipeline, options.Context, protocolLayerOptions); Models::DeleteShareFileResult ret; ret.Deleted = true; + ret.RequestId = std::move(result->RequestId); return Azure::Core::Response( std::move(ret), result.ExtractRawResponse()); } @@ -231,6 +233,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { { Models::DeleteShareFileResult ret; ret.Deleted = false; + ret.RequestId = std::move(e.RequestId); return Azure::Core::Response( std::move(ret), std::move(e.RawResponse)); }