Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@
"AUTHV",
// CMake
"cmake",
"CPPSTD",
"DCMAKE",
"AUTORUN",
"DEPS",
Expand Down Expand Up @@ -236,6 +237,7 @@
"Initate",
"ioctlsocket",
"dupenv",
"wdupenv",
"USERPROFILE",
"subblock",
"LANGANDCODEPAGE",
Expand Down Expand Up @@ -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"
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/aws-cpp-sdk-core/include/aws/core/http/HttpClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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()) {
Expand All @@ -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>(
Aws::Client::CoreErrors::CLIENT_SIGNING_FAILURE, "", "Failed to resolve identity", false)),
Expand Down
6 changes: 3 additions & 3 deletions src/aws-cpp-sdk-core/source/client/AWSClient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -680,8 +680,8 @@ HttpResponseOutcome AWSClient::AttemptOneRequest(const std::shared_ptr<Aws::Http
return HttpResponseOutcome(std::move(error));
}
/// HACK: ClickHouse Patch: We commented the code because (1) we check embedded errors in our own HTTP Client.
/// This commented check here is broken in multple ways. It reads responce body stream -> parses it to XML -> look for <Error>.
/// 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 <Error>.
/// 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()).
Expand All @@ -696,7 +696,7 @@ HttpResponseOutcome AWSClient::AttemptOneRequest(const std::shared_ptr<Aws::Http

/// auto readPointer = body.tellg();
/// Utils::Xml::XmlDocument doc = XmlDocument::CreateFromXmlStream(body);
/// body.seekg(readPointer); <-- NOTE this may set failbit and do nothing, your possition will be at the end of the stream!
/// body.seekg(readPointer); <-- NOTE this may set failbit and do nothing, your position will be at the end of the stream!
///
/// If you add here `if (body.fail()) { std::cerr << "TERRIBLE ERROR\n"; std::terminate(); }` -- it will fail with Poco HTTP Client.
///
Expand Down
Loading