From 81c15324a3a36c1677544c193f91892643ed92da Mon Sep 17 00:00:00 2001 From: DmitriyMusatkin Date: Wed, 10 Jul 2024 15:29:48 -0700 Subject: [PATCH 1/4] minor refactor --- .../include/aws/s3-crt/S3CrtClient.h | 4 +++- .../src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp | 15 +++++++++------ .../velocity/cpp/s3/S3ClientHeader.vm | 4 +++- .../cpp/s3/s3-crt/S3CrtSpecificOperations.vm | 11 +++++++---- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h index 44c68b9a387..889d9ded1f0 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h @@ -6300,9 +6300,11 @@ namespace Aws wrappedData->clientShutdownSem->Release(); } + void InitCrtEndpointFromUri(aws_uri *endpoint_uri, const Aws::Http::URI &uri) const; + void InitCommonCrtRequestOption(CrtRequestCallbackUserData *userData, aws_s3_meta_request_options *options, - const Aws::AmazonWebServiceRequest *requset, + const Aws::AmazonWebServiceRequest *request, const Aws::Http::URI &uri, Aws::Http::HttpMethod method) const; S3Crt::ClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp index 080f7fe99a6..7703e468500 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp @@ -679,6 +679,12 @@ Aws::Client::StreamOutcome S3CrtClient::GenerateStreamOutcome(const std::shared_ return StreamOutcome(std::move(httpOutcome)); } +void S3CrtClient::InitCrtEndpointFromUri(aws_uri *endpoint_uri, const Aws::Http::URI &uri) const { + const auto endpointStr = uri.GetURIString(); + const auto endpointCursor{ aws_byte_cursor_from_array(endpointStr.c_str(), endpointStr.size()) }; + aws_uri_init_parse(endpoint_uri, Aws::get_aws_allocator(), &endpointCursor); +} + void S3CrtClient::InitCommonCrtRequestOption(CrtRequestCallbackUserData *userData, aws_s3_meta_request_options *options, const Aws::AmazonWebServiceRequest *request, @@ -708,9 +714,6 @@ void S3CrtClient::InitCommonCrtRequestOption(CrtRequestCallbackUserData *userDat options->body_callback = S3CrtRequestGetBodyCallback; options->progress_callback = S3CrtRequestProgressCallback; options->finish_callback = S3CrtRequestFinishCallback; - const auto endpointStr = uri.GetURIString(); - const auto endpointCursor{ aws_byte_cursor_from_array(endpointStr.c_str(), endpointStr.size()) }; - aws_uri_init_parse(options->endpoint, Aws::get_aws_allocator(), &endpointCursor); } static void CopyObjectRequestShutdownCallback(void *user_data) @@ -769,7 +772,7 @@ void S3CrtClient::CopyObjectAsync(const CopyObjectRequest& request, const CopyOb aws_s3_meta_request_options options; AWS_ZERO_STRUCT(options); aws_uri endpoint; - AWS_ZERO_STRUCT(endpoint); + InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; std::unique_ptr endpointCleanup { options.endpoint, &aws_uri_clean_up }; @@ -888,7 +891,7 @@ void S3CrtClient::GetObjectAsync(const GetObjectRequest& request, const GetObjec aws_s3_meta_request_options options; AWS_ZERO_STRUCT(options); aws_uri endpoint; - AWS_ZERO_STRUCT(endpoint); + InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; std::unique_ptr endpointCleanup { options.endpoint, &aws_uri_clean_up }; @@ -1011,7 +1014,7 @@ void S3CrtClient::PutObjectAsync(const PutObjectRequest& request, const PutObjec aws_s3_meta_request_options options; AWS_ZERO_STRUCT(options); aws_uri endpoint; - AWS_ZERO_STRUCT(endpoint); + InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; std::unique_ptr endpointCleanup { options.endpoint, &aws_uri_clean_up }; diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm index 7eb83a171b1..95afeef0e0b 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm @@ -232,9 +232,11 @@ namespace ${rootNamespace} wrappedData->clientShutdownSem->Release(); } + void InitCrtEndpointFromUri(aws_uri *endpoint_uri, const Aws::Http::URI &uri) const; + void InitCommonCrtRequestOption(CrtRequestCallbackUserData *userData, aws_s3_meta_request_options *options, - const Aws::AmazonWebServiceRequest *requset, + const Aws::AmazonWebServiceRequest *request, const Aws::Http::URI &uri, Aws::Http::HttpMethod method) const; #else #if(!$serviceModel.endpointRules) diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm index 25068412a45..9b53d57122e 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm @@ -171,6 +171,12 @@ Aws::Client::StreamOutcome S3CrtClient::GenerateStreamOutcome(const std::shared_ return StreamOutcome(std::move(httpOutcome)); } +void S3CrtClient::InitCrtEndpointFromUri(aws_uri *endpoint_uri, const Aws::Http::URI &uri) const { + const auto endpointStr = uri.GetURIString(); + const auto endpointCursor{ aws_byte_cursor_from_array(endpointStr.c_str(), endpointStr.size()) }; + aws_uri_init_parse(endpoint_uri, Aws::get_aws_allocator(), &endpointCursor); +} + void S3CrtClient::InitCommonCrtRequestOption(CrtRequestCallbackUserData *userData, aws_s3_meta_request_options *options, const Aws::AmazonWebServiceRequest *request, @@ -200,9 +206,6 @@ void S3CrtClient::InitCommonCrtRequestOption(CrtRequestCallbackUserData *userDat options->body_callback = S3CrtRequestGetBodyCallback; options->progress_callback = S3CrtRequestProgressCallback; options->finish_callback = S3CrtRequestFinishCallback; - const auto endpointStr = uri.GetURIString(); - const auto endpointCursor{ aws_byte_cursor_from_array(endpointStr.c_str(), endpointStr.size()) }; - aws_uri_init_parse(options->endpoint, Aws::get_aws_allocator(), &endpointCursor); } #end @@ -290,7 +293,7 @@ void ${className}::${operation.name}Async(${constText}${operation.request.shape. aws_s3_meta_request_options options; AWS_ZERO_STRUCT(options); aws_uri endpoint; - AWS_ZERO_STRUCT(endpoint); + InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; std::unique_ptr endpointCleanup { options.endpoint, &aws_uri_clean_up }; From ed03fa29c0d6990fa045b104f742fa8023a71e75 Mon Sep 17 00:00:00 2001 From: DmitriyMusatkin Date: Wed, 10 Jul 2024 16:19:38 -0700 Subject: [PATCH 2/4] fix destructor too --- generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp | 6 +++--- .../velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp index 7703e468500..6d82289b19e 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp @@ -774,7 +774,7 @@ void S3CrtClient::CopyObjectAsync(const CopyObjectRequest& request, const CopyOb aws_uri endpoint; InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; - std::unique_ptr endpointCleanup { options.endpoint, &aws_uri_clean_up }; + std::unique_ptr endpointCleanup { &endpoint, &aws_uri_clean_up }; userData->copyResponseHandler = handler; userData->asyncCallerContext = handlerContext; @@ -893,7 +893,7 @@ void S3CrtClient::GetObjectAsync(const GetObjectRequest& request, const GetObjec aws_uri endpoint; InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; - std::unique_ptr endpointCleanup { options.endpoint, &aws_uri_clean_up }; + std::unique_ptr endpointCleanup { &endpoint, &aws_uri_clean_up }; userData->getResponseHandler = handler; userData->asyncCallerContext = handlerContext; @@ -1016,7 +1016,7 @@ void S3CrtClient::PutObjectAsync(const PutObjectRequest& request, const PutObjec aws_uri endpoint; InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; - std::unique_ptr endpointCleanup { options.endpoint, &aws_uri_clean_up }; + std::unique_ptr endpointCleanup { &endpoint, &aws_uri_clean_up }; userData->putResponseHandler = handler; userData->asyncCallerContext = handlerContext; diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm index 9b53d57122e..e607862c187 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm @@ -295,7 +295,7 @@ void ${className}::${operation.name}Async(${constText}${operation.request.shape. aws_uri endpoint; InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; - std::unique_ptr endpointCleanup { options.endpoint, &aws_uri_clean_up }; + std::unique_ptr endpointCleanup { &endpoint, &aws_uri_clean_up }; #if($operation.name == "PutObject") userData->putResponseHandler = handler; From 160c9d519b298c203b3c8840a6832e21882c6b0e Mon Sep 17 00:00:00 2001 From: DmitriyMusatkin Date: Thu, 11 Jul 2024 09:43:45 -0700 Subject: [PATCH 3/4] minor cleanup --- .../src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h | 2 +- generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp | 4 ++-- .../util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm | 2 +- .../velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h index 889d9ded1f0..d2bfdbcb2be 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h @@ -6300,7 +6300,7 @@ namespace Aws wrappedData->clientShutdownSem->Release(); } - void InitCrtEndpointFromUri(aws_uri *endpoint_uri, const Aws::Http::URI &uri) const; + void InitCrtEndpointFromUri(aws_uri &endpoint_uri, const Aws::Http::URI &uri) const; void InitCommonCrtRequestOption(CrtRequestCallbackUserData *userData, aws_s3_meta_request_options *options, diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp index 6d82289b19e..5336844d958 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp @@ -679,10 +679,10 @@ Aws::Client::StreamOutcome S3CrtClient::GenerateStreamOutcome(const std::shared_ return StreamOutcome(std::move(httpOutcome)); } -void S3CrtClient::InitCrtEndpointFromUri(aws_uri *endpoint_uri, const Aws::Http::URI &uri) const { +void S3CrtClient::InitCrtEndpointFromUri(aws_uri &endpoint_uri, const Aws::Http::URI &uri) const { const auto endpointStr = uri.GetURIString(); const auto endpointCursor{ aws_byte_cursor_from_array(endpointStr.c_str(), endpointStr.size()) }; - aws_uri_init_parse(endpoint_uri, Aws::get_aws_allocator(), &endpointCursor); + aws_uri_init_parse(&endpoint_uri, Aws::get_aws_allocator(), &endpointCursor); } void S3CrtClient::InitCommonCrtRequestOption(CrtRequestCallbackUserData *userData, diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm index 95afeef0e0b..0f0c6a95e71 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm @@ -232,7 +232,7 @@ namespace ${rootNamespace} wrappedData->clientShutdownSem->Release(); } - void InitCrtEndpointFromUri(aws_uri *endpoint_uri, const Aws::Http::URI &uri) const; + void InitCrtEndpointFromUri(aws_uri &endpoint_uri, const Aws::Http::URI &uri) const; void InitCommonCrtRequestOption(CrtRequestCallbackUserData *userData, aws_s3_meta_request_options *options, diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm index e607862c187..e6b0f3ee763 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm @@ -171,10 +171,10 @@ Aws::Client::StreamOutcome S3CrtClient::GenerateStreamOutcome(const std::shared_ return StreamOutcome(std::move(httpOutcome)); } -void S3CrtClient::InitCrtEndpointFromUri(aws_uri *endpoint_uri, const Aws::Http::URI &uri) const { +void S3CrtClient::InitCrtEndpointFromUri(aws_uri &endpoint_uri, const Aws::Http::URI &uri) const { const auto endpointStr = uri.GetURIString(); const auto endpointCursor{ aws_byte_cursor_from_array(endpointStr.c_str(), endpointStr.size()) }; - aws_uri_init_parse(endpoint_uri, Aws::get_aws_allocator(), &endpointCursor); + aws_uri_init_parse(&endpoint_uri, Aws::get_aws_allocator(), &endpointCursor); } void S3CrtClient::InitCommonCrtRequestOption(CrtRequestCallbackUserData *userData, From ece3fb134e23956aea58c6efd7ccd513ac43f6c8 Mon Sep 17 00:00:00 2001 From: DmitriyMusatkin Date: Thu, 11 Jul 2024 11:52:26 -0700 Subject: [PATCH 4/4] build fix --- generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp | 6 +++--- .../velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp index 5336844d958..246abd64bbe 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp @@ -772,7 +772,7 @@ void S3CrtClient::CopyObjectAsync(const CopyObjectRequest& request, const CopyOb aws_s3_meta_request_options options; AWS_ZERO_STRUCT(options); aws_uri endpoint; - InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); + InitCrtEndpointFromUri(endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; std::unique_ptr endpointCleanup { &endpoint, &aws_uri_clean_up }; @@ -891,7 +891,7 @@ void S3CrtClient::GetObjectAsync(const GetObjectRequest& request, const GetObjec aws_s3_meta_request_options options; AWS_ZERO_STRUCT(options); aws_uri endpoint; - InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); + InitCrtEndpointFromUri(endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; std::unique_ptr endpointCleanup { &endpoint, &aws_uri_clean_up }; @@ -1014,7 +1014,7 @@ void S3CrtClient::PutObjectAsync(const PutObjectRequest& request, const PutObjec aws_s3_meta_request_options options; AWS_ZERO_STRUCT(options); aws_uri endpoint; - InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); + InitCrtEndpointFromUri(endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; std::unique_ptr endpointCleanup { &endpoint, &aws_uri_clean_up }; diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm index e6b0f3ee763..acea83d8f2c 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtSpecificOperations.vm @@ -293,7 +293,7 @@ void ${className}::${operation.name}Async(${constText}${operation.request.shape. aws_s3_meta_request_options options; AWS_ZERO_STRUCT(options); aws_uri endpoint; - InitCrtEndpointFromUri(&endpoint, endpointResolutionOutcome.GetResult().GetURI()); + InitCrtEndpointFromUri(endpoint, endpointResolutionOutcome.GetResult().GetURI()); options.endpoint = &endpoint; std::unique_ptr endpointCleanup { &endpoint, &aws_uri_clean_up };