Skip to content

Commit 018ab6a

Browse files
committed
changed from callback
1 parent 99829a4 commit 018ab6a

File tree

1 file changed

+30
-29
lines changed

1 file changed

+30
-29
lines changed

src/aws-cpp-sdk-core/source/client/AWSClient.cpp

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,37 +1038,38 @@ std::shared_ptr<Aws::Http::HttpResponse> AWSClient::MakeHttpRequest(std::shared_
10381038
return m_httpClient->MakeRequest(request, m_readRateLimiter.get(), m_writeRateLimiter.get());
10391039
}
10401040

1041-
void AWSClient::AppendRecursionDetectionHeader(std::shared_ptr<Aws::Http::HttpRequest> ioRequest) {
1042-
if(!ioRequest || ioRequest->HasHeader(Aws::Http::X_AMZN_TRACE_ID_HEADER)) {
1043-
return;
1044-
}
1045-
Aws::String awsLambdaFunctionName = Aws::Environment::GetEnv(AWS_LAMBDA_FUNCTION_NAME);
1046-
if(awsLambdaFunctionName.empty()) {
1047-
return;
1048-
}
1049-
Aws::String xAmznTraceIdVal = Aws::Environment::GetEnv(X_AMZN_TRACE_ID);
1050-
if(xAmznTraceIdVal.empty()) {
1051-
return;
1052-
}
1053-
1054-
// Escape all non-printable ASCII characters by percent encoding
1055-
Aws::OStringStream xAmznTraceIdValEncodedStr;
1056-
for(const char ch : xAmznTraceIdVal)
1057-
{
1058-
if (ch >= 0x20 && ch <= 0x7e) // ascii chars [32-126] or [' ' to '~'] are not escaped
1059-
{
1060-
xAmznTraceIdValEncodedStr << ch;
1041+
void AWSClient::AppendRecursionDetectionHeader(std::shared_ptr<Aws::Http::HttpRequest> ioRequest)
1042+
{
1043+
if(!ioRequest || ioRequest->HasHeader(Aws::Http::X_AMZN_TRACE_ID_HEADER)) {
1044+
return;
10611045
}
1062-
else
1046+
Aws::String awsLambdaFunctionName = Aws::Environment::GetEnv(AWS_LAMBDA_FUNCTION_NAME);
1047+
if(awsLambdaFunctionName.empty()) {
1048+
return;
1049+
}
1050+
Aws::String xAmznTraceIdVal = Aws::Environment::GetEnv(X_AMZN_TRACE_ID);
1051+
if(xAmznTraceIdVal.empty()) {
1052+
return;
1053+
}
1054+
1055+
// Escape all non-printable ASCII characters by percent encoding
1056+
Aws::OStringStream xAmznTraceIdValEncodedStr;
1057+
for(const char ch : xAmznTraceIdVal)
10631058
{
1064-
// A percent-encoded octet is encoded as a character triplet
1065-
xAmznTraceIdValEncodedStr << '%' // consisting of the percent character "%"
1066-
<< std::hex << std::setfill('0') << std::setw(2) << std::uppercase
1067-
<< (size_t) ch //followed by the two hexadecimal digits representing that octet's numeric value
1068-
<< std::dec << std::setfill(' ') << std::setw(0) << std::nouppercase;
1059+
if (ch >= 0x20 && ch <= 0x7e) // ascii chars [32-126] or [' ' to '~'] are not escaped
1060+
{
1061+
xAmznTraceIdValEncodedStr << ch;
1062+
}
1063+
else
1064+
{
1065+
// A percent-encoded octet is encoded as a character triplet
1066+
xAmznTraceIdValEncodedStr << '%' // consisting of the percent character "%"
1067+
<< std::hex << std::setfill('0') << std::setw(2) << std::uppercase
1068+
<< (size_t) ch //followed by the two hexadecimal digits representing that octet's numeric value
1069+
<< std::dec << std::setfill(' ') << std::setw(0) << std::nouppercase;
1070+
}
10691071
}
1070-
}
1071-
xAmznTraceIdVal = xAmznTraceIdValEncodedStr.str();
1072+
xAmznTraceIdVal = xAmznTraceIdValEncodedStr.str();
10721073

1073-
ioRequest->SetHeaderValue(Aws::Http::X_AMZN_TRACE_ID_HEADER, xAmznTraceIdVal);
1074+
ioRequest->SetHeaderValue(Aws::Http::X_AMZN_TRACE_ID_HEADER, xAmznTraceIdVal);
10741075
}

0 commit comments

Comments
 (0)