Skip to content

Commit 060629f

Browse files
committed
update to the latest oatpp API.
1 parent c12b7b3 commit 060629f

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

src/oatpp-curl/io/CurlBodyReader.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ size_t CurlBodyReader::writeCallback(char *ptr, size_t size, size_t nmemb, void
3737
CurlBodyReader* instance = static_cast<CurlBodyReader*>(userdata);
3838

3939
if(instance->m_position != 0) {
40-
if(instance->m_position != instance->m_buffer.getSize()){
40+
if(instance->m_position != instance->m_buffer.getCurrentPosition()){
4141
throw std::runtime_error("[oatpp::curl::CurlBodyReader::writeCallback(...)]: Invalid state.");
4242
}
43-
instance->m_buffer.clear();
43+
instance->m_buffer.setCurrentPosition(0);
4444
instance->m_position = 0;
4545
}
4646
return instance->m_buffer.writeSimple(ptr, size * nmemb);
@@ -84,15 +84,19 @@ v_io_size CurlBodyReader::readNonBlocking(void *data, v_io_size count) {
8484
}
8585

8686
}
87-
88-
auto readCount = m_buffer.readSubstring(data, m_position, count);
87+
88+
v_int64 readCount = count;
89+
if(count + m_position > m_buffer.getCurrentPosition()) {
90+
readCount = m_buffer.getCurrentPosition() - m_position;
91+
}
92+
std::memcpy(data, m_buffer.getData() + m_position, readCount);
8993
m_position += readCount;
9094
return readCount;
9195

9296
}
9397

9498
v_io_size CurlBodyReader::getAvailableBytesCount() {
95-
return m_buffer.getSize() - m_position;
99+
return m_buffer.getCurrentPosition() - m_position;
96100
}
97101

98102
}}}

src/oatpp-curl/io/CurlBodyReader.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
#include "./Curl.hpp"
2929

30-
#include "oatpp/core/data/stream/ChunkedBuffer.hpp"
30+
#include "oatpp/core/data/stream/BufferStream.hpp"
3131

3232
namespace oatpp { namespace curl { namespace io {
3333

@@ -37,7 +37,7 @@ namespace oatpp { namespace curl { namespace io {
3737
class CurlBodyReader {
3838
private:
3939
std::shared_ptr<CurlHandles> m_handles;
40-
oatpp::data::stream::ChunkedBuffer m_buffer;
40+
oatpp::data::stream::BufferOutputStream m_buffer;
4141
v_io_size m_position;
4242
private:
4343
static size_t writeCallback(char *ptr, size_t size, size_t nmemb, void *userdata);

src/oatpp-curl/io/CurlHeadersReader.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
#include "./Curl.hpp"
2929

3030
#include "oatpp/web/protocol/http/Http.hpp"
31-
#include "oatpp/core/data/stream/ChunkedBuffer.hpp"
31+
#include "oatpp/core/data/stream/BufferStream.hpp"
3232

3333
namespace oatpp { namespace curl { namespace io {
3434

@@ -59,7 +59,7 @@ class CurlHeadersReader {
5959
v_int32 m_state;
6060
oatpp::web::protocol::http::Headers m_headers;
6161
oatpp::web::protocol::http::ResponseStartingLine m_startingLine;
62-
oatpp::data::stream::ChunkedBuffer m_buffer;
62+
oatpp::data::stream::BufferOutputStream m_buffer;
6363
private:
6464
static size_t headerCallback(char *ptr, size_t size, size_t nmemb, void *userdata);
6565
public:

0 commit comments

Comments
 (0)