Skip to content

Commit 09954a3

Browse files
committed
fix window integration test
1 parent 5544f25 commit 09954a3

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include <aws/core/http/interceptor/ChunkingInterceptor.h>
77
#include <aws/core/utils/stream/AwsChunkedStream.h>
8+
#include <aws/core/utils/UnreferencedParam.h>
89
#include <smithy/client/common/AwsSmithyClientUtils.h>
910

1011
namespace Aws {
@@ -18,12 +19,17 @@ class AwsChunkedIOStream : public Aws::IOStream {
1819
private:
1920
class ChunkedStreamBuf : public std::streambuf {
2021
public:
21-
ChunkedStreamBuf(Aws::Utils::Stream::AwsChunkedStream<>& chunkStream) : m_chunkStream(chunkStream) {}
22+
ChunkedStreamBuf(Aws::Utils::Stream::AwsChunkedStream<>& chunkStream) : m_chunkStream(chunkStream), m_finished(false) {}
2223

2324
protected:
2425
int_type underflow() override {
26+
if (m_finished) return traits_type::eof();
27+
2528
size_t bytesRead = m_chunkStream.BufferedRead(m_buffer, sizeof(m_buffer));
26-
if (bytesRead == 0) return traits_type::eof();
29+
if (bytesRead == 0) {
30+
m_finished = true;
31+
return traits_type::eof();
32+
}
2733

2834
setg(m_buffer, m_buffer, m_buffer + bytesRead);
2935
return traits_type::to_int_type(*gptr());
@@ -32,6 +38,7 @@ class AwsChunkedIOStream : public Aws::IOStream {
3238
private:
3339
Aws::Utils::Stream::AwsChunkedStream<>& m_chunkStream;
3440
char m_buffer[8192];
41+
bool m_finished;
3542
};
3643

3744
Aws::Utils::Stream::AwsChunkedStream<> m_chunkStream;

0 commit comments

Comments
 (0)