diff --git a/src/WebResponseImpl.h b/src/WebResponseImpl.h index 9a64e3a..4a47225 100644 --- a/src/WebResponseImpl.h +++ b/src/WebResponseImpl.h @@ -27,6 +27,8 @@ #undef max #endif #include +#include + // It is possible to restore these defines, but one can use _min and _max instead. Or std::min, std::max. class AsyncBasicResponse: public AsyncWebServerResponse { @@ -122,7 +124,7 @@ class cbuf; class AsyncResponseStream: public AsyncAbstractResponse, public Print { private: - cbuf *_content; + std::unique_ptr _content; public: AsyncResponseStream(const String& contentType, size_t bufferSize); ~AsyncResponseStream(); diff --git a/src/WebResponses.cpp b/src/WebResponses.cpp index adeab98..f7722bf 100644 --- a/src/WebResponses.cpp +++ b/src/WebResponses.cpp @@ -675,16 +675,15 @@ size_t AsyncProgmemResponse::_fillBuffer(uint8_t *data, size_t len){ * Response Stream (You can print/write/printf to it, up to the contentLen bytes) * */ -AsyncResponseStream::AsyncResponseStream(const String& contentType, size_t bufferSize){ +AsyncResponseStream::AsyncResponseStream(const String& contentType, size_t bufferSize) +{ _code = 200; _contentLength = 0; _contentType = contentType; - _content = new cbuf(bufferSize); + _content = std::unique_ptr(new cbuf(bufferSize)); //std::make_unique(bufferSize); } -AsyncResponseStream::~AsyncResponseStream(){ - delete _content; -} +AsyncResponseStream::~AsyncResponseStream() = default; size_t AsyncResponseStream::_fillBuffer(uint8_t *buf, size_t maxLen){ return _content->read((char*)buf, maxLen);