@@ -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