diff --git a/sdk/core/azure-core/inc/azure/core/response.hpp b/sdk/core/azure-core/inc/azure/core/response.hpp index be1096495..9c7281398 100644 --- a/sdk/core/azure-core/inc/azure/core/response.hpp +++ b/sdk/core/azure-core/inc/azure/core/response.hpp @@ -96,35 +96,4 @@ namespace Azure { namespace Core { } }; - /** - * @brief Wraps raw HTTP response into a response of a void type. - */ - template <> class Response { - std::unique_ptr m_rawResponse; - - public: - /** - * @brief Initialize a #Azure::Core::Response with a raw response. - * - * @param rawResponse Raw HTTP response. - */ - explicit Response(std::unique_ptr&& rawResponse) - : m_rawResponse(std::move(rawResponse)) - { - } - - /** - * @brief Get raw HTTP response. - */ - // Do not give up raw response ownership. - Http::RawResponse& GetRawResponse() { return *this->m_rawResponse; } - - /** - * @brief Get a smart pointer rvalue reference to the value of a specific type. - */ - std::unique_ptr&& ExtractRawResponse() - { - return std::move(this->m_rawResponse); - } - }; }} // namespace Azure::Core diff --git a/sdk/storage/azure-storage-blobs/CHANGELOG.md b/sdk/storage/azure-storage-blobs/CHANGELOG.md index af9aaeb6a..49c0e3e3f 100644 --- a/sdk/storage/azure-storage-blobs/CHANGELOG.md +++ b/sdk/storage/azure-storage-blobs/CHANGELOG.md @@ -11,6 +11,11 @@ - Changed the return type of `StartCopyFromUri` and `StartCopyIncremental` API from a `Response` to the particular `Operation` type called `StartCopyBlobOperation` directly. - String conversion functions of extensible enums were renamed from `Get()` to `ToString()`. +### Other Changes and Improvements + +- Changed return type of `BlobServiceClient::DeleteBlobContainer` to `Azure::Core::Response`. +- Changed return type of `BlobContainerClient::DeleteBlob` to `Azure::Core::Response`. + ## 12.0.0-beta.8 (2021-02-12) ### Breaking Changes diff --git a/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_container_client.hpp b/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_container_client.hpp index b0b34fb68..5e0e6ae19 100644 --- a/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_container_client.hpp +++ b/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_container_client.hpp @@ -266,9 +266,9 @@ namespace Azure { namespace Storage { namespace Blobs { * @param blobName The name of the blob to delete. * @param options Optional parameters to execute this function. * @param context Context for cancelling long running operations. - * @return Nothing. + * @return A DeleteBlobResult on successfully deleting. */ - Azure::Core::Response DeleteBlob( + Azure::Core::Response DeleteBlob( const std::string& blobName, const DeleteBlobOptions& options = DeleteBlobOptions(), const Azure::Core::Context& context = Azure::Core::Context()) const; diff --git a/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_service_client.hpp b/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_service_client.hpp index 94cdbe248..a28f2f353 100644 --- a/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_service_client.hpp +++ b/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_service_client.hpp @@ -209,9 +209,9 @@ namespace Azure { namespace Storage { namespace Blobs { * @param blobContainerName The name of the container to delete. * @param options Optional parameters to execute this function. * @param context Context for cancelling long running operations. - * @return Nothing. + * @return A DeleteBlobContainerResult if successful. */ - Azure::Core::Response DeleteBlobContainer( + Azure::Core::Response DeleteBlobContainer( const std::string& blobContainerName, const DeleteBlobContainerOptions& options = DeleteBlobContainerOptions(), const Azure::Core::Context& context = Azure::Core::Context()) const; diff --git a/sdk/storage/azure-storage-blobs/src/blob_container_client.cpp b/sdk/storage/azure-storage-blobs/src/blob_container_client.cpp index f937a4ca3..f4f15d3f3 100644 --- a/sdk/storage/azure-storage-blobs/src/blob_container_client.cpp +++ b/sdk/storage/azure-storage-blobs/src/blob_container_client.cpp @@ -291,14 +291,13 @@ namespace Azure { namespace Storage { namespace Blobs { context, *m_pipeline, m_blobContainerUrl, protocolLayerOptions); } - Azure::Core::Response BlobContainerClient::DeleteBlob( + Azure::Core::Response BlobContainerClient::DeleteBlob( const std::string& blobName, const DeleteBlobOptions& options, const Azure::Core::Context& context) const { auto blobClient = GetBlobClient(blobName); - auto response = blobClient.Delete(options, context); - return Azure::Core::Response(response.ExtractRawResponse()); + return blobClient.Delete(options, context); } Azure::Core::Response BlobContainerClient::UploadBlob( diff --git a/sdk/storage/azure-storage-blobs/src/blob_service_client.cpp b/sdk/storage/azure-storage-blobs/src/blob_service_client.cpp index ef845cce6..ff9ae53bc 100644 --- a/sdk/storage/azure-storage-blobs/src/blob_service_client.cpp +++ b/sdk/storage/azure-storage-blobs/src/blob_service_client.cpp @@ -188,14 +188,13 @@ namespace Azure { namespace Storage { namespace Blobs { std::move(blobContainerClient), response.ExtractRawResponse()); } - Azure::Core::Response BlobServiceClient::DeleteBlobContainer( + Azure::Core::Response BlobServiceClient::DeleteBlobContainer( const std::string& blobContainerName, const DeleteBlobContainerOptions& options, const Azure::Core::Context& context) const { auto blobContainerClient = GetBlobContainerClient(blobContainerName); - auto response = blobContainerClient.Delete(options, context); - return Azure::Core::Response(response.ExtractRawResponse()); + return blobContainerClient.Delete(options, context); } Azure::Core::Response BlobServiceClient::UndeleteBlobContainer(