Skip to content

Commit f13b091

Browse files
committed
upding the format and some check conditions
1 parent 6949aff commit f13b091

File tree

1 file changed

+29
-27
lines changed

1 file changed

+29
-27
lines changed

src/aws-cpp-sdk-transfer/source/transfer/TransferManager.cpp

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -832,17 +832,19 @@ namespace Aws
832832
return false;
833833
}
834834

835-
if (requestedRange.find("bytes=") != 0)
835+
const auto requestPrefix = "bytes=";
836+
if (requestedRange.substr(0, strlen(requestPrefix)) != requestPrefix)
836837
{
837838
return false;
838839
}
839-
Aws::String requestRange = requestedRange.substr(6);
840+
Aws::String requestRange = requestedRange.substr(strlen(requestPrefix));
840841

841-
if (responseContentRange.find("bytes ") != 0)
842+
const auto responsePrefix = "bytes ";
843+
if (responseContentRange.substr(0, strlen(responsePrefix)) != responsePrefix)
842844
{
843845
return false;
844846
}
845-
Aws::String responseRange = responseContentRange.substr(6);
847+
Aws::String responseRange = responseContentRange.substr(strlen(responsePrefix));
846848
size_t slashPos = responseRange.find('/');
847849
if (slashPos != Aws::String::npos)
848850
{
@@ -1158,33 +1160,33 @@ namespace Aws
11581160
partState->SetDownloadBuffer(nullptr);
11591161
}
11601162
return;
1161-
}
1162-
1163-
if(handle->ShouldContinue())
1164-
{
1165-
Aws::IOStream* bufferStream = partState->GetDownloadPartStream();
1166-
assert(bufferStream);
1163+
}
11671164

1168-
Aws::String errMsg{handle->WritePartToDownloadStream(bufferStream, partState->GetRangeBegin())};
1169-
if (errMsg.empty()) {
1170-
handle->ChangePartToCompleted(partState, outcome.GetResult().GetETag());
1171-
} else {
1172-
Aws::Client::AWSError<Aws::S3::S3Errors> error(Aws::S3::S3Errors::INTERNAL_FAILURE,
1173-
"InternalFailure", errMsg, false);
1174-
AWS_LOGSTREAM_ERROR(CLASS_TAG, "Transfer handle [" << handle->GetId()
1175-
<< "] Failed to download object in Bucket: ["
1176-
<< handle->GetBucketName() << "] with Key: [" << handle->GetKey()
1177-
<< "] " << errMsg);
1165+
if(handle->ShouldContinue())
1166+
{
1167+
Aws::IOStream* bufferStream = partState->GetDownloadPartStream();
1168+
assert(bufferStream);
1169+
1170+
Aws::String errMsg{handle->WritePartToDownloadStream(bufferStream, partState->GetRangeBegin())};
1171+
if (errMsg.empty()) {
1172+
handle->ChangePartToCompleted(partState, outcome.GetResult().GetETag());
1173+
} else {
1174+
Aws::Client::AWSError<Aws::S3::S3Errors> error(Aws::S3::S3Errors::INTERNAL_FAILURE,
1175+
"InternalFailure", errMsg, false);
1176+
AWS_LOGSTREAM_ERROR(CLASS_TAG, "Transfer handle [" << handle->GetId()
1177+
<< "] Failed to download object in Bucket: ["
1178+
<< handle->GetBucketName() << "] with Key: [" << handle->GetKey()
1179+
<< "] " << errMsg);
1180+
handle->ChangePartToFailed(partState);
1181+
handle->SetError(error);
1182+
TriggerErrorCallback(handle, error);
1183+
}
1184+
}
1185+
else
1186+
{
11781187
handle->ChangePartToFailed(partState);
1179-
handle->SetError(error);
1180-
TriggerErrorCallback(handle, error);
11811188
}
11821189
}
1183-
else
1184-
{
1185-
handle->ChangePartToFailed(partState);
1186-
}
1187-
}
11881190

11891191
// buffer cleanup
11901192
if(partState->GetDownloadBuffer())

0 commit comments

Comments
 (0)