Skip to content

Commit 46d2dcd

Browse files
committed
refactor out chunk framing
1 parent 5c3b3c5 commit 46d2dcd

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

src/aws-cpp-sdk-core/source/auth/signer/AWSAuthV4Signer.cpp

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -229,15 +229,10 @@ bool AWSAuthV4Signer::SignRequestWithCreds(Aws::Http::HttpRequest& request, cons
229229
request.DeleteHeader(checksumHeaderValue.c_str());
230230
request.SetHeaderValue(Http::AWS_TRAILER_HEADER, checksumHeaderValue);
231231
request.SetTransferEncoding(CHUNKED_VALUE);
232-
// Only add aws-chunked if it's not already present to avoid duplication
233-
if (request.HasContentEncoding()) {
234-
const auto& currentEncoding = request.GetContentEncoding();
235-
if (currentEncoding.find(Http::AWS_CHUNKED_VALUE) == Aws::String::npos) {
236-
request.SetContentEncoding(Aws::String{Http::AWS_CHUNKED_VALUE} + "," + currentEncoding);
237-
}
238-
} else {
239-
request.SetContentEncoding(Http::AWS_CHUNKED_VALUE);
240-
}
232+
request.HasContentEncoding()
233+
? request.SetContentEncoding(Aws::String{Http::AWS_CHUNKED_VALUE} + "," + request.GetContentEncoding())
234+
: request.SetContentEncoding(Http::AWS_CHUNKED_VALUE);
235+
241236

242237
if (request.HasHeader(Http::CONTENT_LENGTH_HEADER)) {
243238
request.SetHeaderValue(Http::DECODED_CONTENT_LENGTH_HEADER, request.GetHeaderValue(Http::CONTENT_LENGTH_HEADER));

src/aws-cpp-sdk-core/source/http/interceptor/ChunkingInterceptor.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,10 @@ ChunkingInterceptor::ModifyRequestOutcome ChunkingInterceptor::ModifyBeforeSigni
6565

6666
request->AddContentBody(chunkedBody);
6767

68-
// Set Transfer-Encoding: chunked for aws-chunked requests
69-
request->SetTransferEncoding("chunked");
68+
// Set Transfer-Encoding: chunked for aws-chunked requests (only if not already set)
69+
if (!request->HasTransferEncoding()) {
70+
request->SetTransferEncoding("chunked");
71+
}
7072

7173
// Move Content-Length to x-amz-decoded-content-length and remove Content-Length
7274
if (request->HasHeader("Content-Length")) {

0 commit comments

Comments
 (0)