File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed
src/aws-cpp-sdk-core/source/http/interceptor Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change 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
1011namespace Aws {
@@ -18,12 +19,17 @@ class AwsChunkedIOStream : public Aws::IOStream {
1819private:
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;
You can’t perform that action at this time.
0 commit comments