From fdca78e84724651bd31aaf8d306de6f88686613b Mon Sep 17 00:00:00 2001 From: Nikolai Ovchinnikov Date: Wed, 21 Oct 2026 11:33:26 +0200 Subject: [PATCH 1/2] feat: allow HTTP clients to override retry sleep --- src/aws-cpp-sdk-core/include/aws/core/http/HttpClient.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aws-cpp-sdk-core/include/aws/core/http/HttpClient.h b/src/aws-cpp-sdk-core/include/aws/core/http/HttpClient.h index adf27667b44..90e76f3dcf0 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/http/HttpClient.h +++ b/src/aws-cpp-sdk-core/include/aws/core/http/HttpClient.h @@ -77,7 +77,7 @@ namespace Aws /** * Sleeps current thread for sleepTime. */ - void RetryRequestSleep(std::chrono::milliseconds sleepTime); + virtual void RetryRequestSleep(std::chrono::milliseconds sleepTime); bool ContinueRequest(const Aws::Http::HttpRequest&) const; From 3c95d75d2accd5cf76fa0f4dc5c0e056ed8af3f0 Mon Sep 17 00:00:00 2001 From: Nikolai Ovchinnikov Date: Wed, 21 Oct 2026 11:51:35 +0200 Subject: [PATCH 2/2] fix: restore the repository-wide spelling check --- .cspell.json | 12 +++++++++++- .../include/aws/core/client/AWSProtocolClient.h | 6 +++--- .../SmithyBidirectionalStreamingWriteDataTask.h | 4 ++-- src/aws-cpp-sdk-core/source/client/AWSClient.cpp | 6 +++--- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/.cspell.json b/.cspell.json index 8a5df1dc4d1..29ede7687af 100644 --- a/.cspell.json +++ b/.cspell.json @@ -88,6 +88,7 @@ "AUTHV", // CMake "cmake", + "CPPSTD", "DCMAKE", "AUTORUN", "DEPS", @@ -236,6 +237,7 @@ "Initate", "ioctlsocket", "dupenv", + "wdupenv", "USERPROFILE", "subblock", "LANGANDCODEPAGE", @@ -325,6 +327,14 @@ // in DefaultRateLimiter "renormalize", // parameters defined in tinyxml2 - "uval" + "uval", + // identifiers in the imported AIX time conversion implementation + "msummlen", + "tmstr", + "ytmp", + "dtmp", + "ytmpe", + "dtmpe", + "isleapyear" ] } diff --git a/src/aws-cpp-sdk-core/include/aws/core/client/AWSProtocolClient.h b/src/aws-cpp-sdk-core/include/aws/core/client/AWSProtocolClient.h index bf3b3262dea..ff6a86fe0dc 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/client/AWSProtocolClient.h +++ b/src/aws-cpp-sdk-core/include/aws/core/client/AWSProtocolClient.h @@ -126,7 +126,7 @@ namespace Aws /// We replace HTTP Client with our own PocoHTTPClient. It returns some Poco implementations /// for std::istream and std::ostream. For example for GetResponseBody(). std::istream and std::ostream /// have very weird semantics. For custom implementations, without additional efforts, most of the methods - /// will not work siltently and only change internal failbits state. + /// will not work silently and only change internal failbits state. /// /// AWS developers use many std::i/ostream methods without any checks for internal failbits states. /// For example in upstream code here they use tellp() method, which is not implemented for Poco streams. @@ -162,7 +162,7 @@ namespace Aws /// We replace HTTP Client with our own PocoHTTPClient. It returns some Poco implementations /// for std::istream and std::ostream. For example for GetResponseBody(). std::istream and std::ostream /// have very weird semantics. For custom implementations, without additional efforts, most of the methods - /// will not work siltently and only change internal failbits state. + /// will not work silently and only change internal failbits state. /// /// AWS developers use many std::i/ostream methods without any checks for internal failbits states. /// For example in upstream code here they use tellp() method, which is not implemented for Poco streams. @@ -232,7 +232,7 @@ namespace Aws /// We replace HTTP Client with our own PocoHTTPClient. It returns some Poco implementations /// for std::istream and std::ostream. For example for GetResponseBody(). std::istream and std::ostream /// have very weird semantics. For custom implementations, without additional efforts, most of the methods - /// will not work siltently and only change internal failbits state. + /// will not work silently and only change internal failbits state. /// /// AWS developers use many std::i/ostream methods without any checks for internal failbits states. /// For example in upstream code here they use tellp() method, which is not implemented for Poco streams. diff --git a/src/aws-cpp-sdk-core/include/smithy/client/SmithyBidirectionalStreamingWriteDataTask.h b/src/aws-cpp-sdk-core/include/smithy/client/SmithyBidirectionalStreamingWriteDataTask.h index dee6ad1104e..14c912926ea 100644 --- a/src/aws-cpp-sdk-core/include/smithy/client/SmithyBidirectionalStreamingWriteDataTask.h +++ b/src/aws-cpp-sdk-core/include/smithy/client/SmithyBidirectionalStreamingWriteDataTask.h @@ -71,7 +71,7 @@ class AWS_CORE_LOCAL SmithyBidirectionalStreamingWriteDataTask final { m_request.get(), m_request->GetServiceRequestName(), pExecutor, authResolver); ctx->m_method = Aws::Http::HttpMethod::HTTP_POST; - bool resolvedIdenity = m_client->ResolveIdentityAuth( + bool resolvedIdentity = m_client->ResolveIdentityAuth( ctx, [](AwsSmithyClientBase::HttpResponseOutcome&& outcome) { if (!outcome.IsSuccess()) { @@ -80,7 +80,7 @@ class AWS_CORE_LOCAL SmithyBidirectionalStreamingWriteDataTask final { }, EndpointUpdateCallback(m_endpointCallback)); - if (!resolvedIdenity) { + if (!resolvedIdentity) { m_handler(m_client, *m_request, OutcomeT(Aws::Client::AWSError( Aws::Client::CoreErrors::CLIENT_SIGNING_FAILURE, "", "Failed to resolve identity", false)), diff --git a/src/aws-cpp-sdk-core/source/client/AWSClient.cpp b/src/aws-cpp-sdk-core/source/client/AWSClient.cpp index 485fc1a1339..a6066196bd2 100644 --- a/src/aws-cpp-sdk-core/source/client/AWSClient.cpp +++ b/src/aws-cpp-sdk-core/source/client/AWSClient.cpp @@ -680,8 +680,8 @@ HttpResponseOutcome AWSClient::AttemptOneRequest(const std::shared_ptr parses it to XML -> look for . - /// It's not only (1) inefficient to parse data twise (second time will be in response processing), but also in + /// This commented check here is broken in multiple ways. It reads response body stream -> parses it to XML -> look for . + /// It's not only (1) inefficient to parse data twice (second time will be in response processing), but also in /// Poco HTTP Client implementation Buffer for response body is not (3!!!) seekable. It's very reasonable solution, /// because seekable stream from network is non sense. However in this library guys not only try to read stream and /// call seekg(0) to return it back to zero, but also they don't check (4) if (stream.fail()). @@ -696,7 +696,7 @@ HttpResponseOutcome AWSClient::AttemptOneRequest(const std::shared_ptr