forked from me-no-dev/ESPAsyncWebServer
make response stream e sendable later and the buffer size to be specifiable
This commit is contained in:
@@ -61,7 +61,7 @@ class AsyncResponseStream: public AsyncAbstractResponse, public Print {
|
||||
private:
|
||||
cbuf *_content;
|
||||
public:
|
||||
AsyncResponseStream(String contentType, size_t len);
|
||||
AsyncResponseStream(String contentType, size_t len, size_t bufferSize);
|
||||
~AsyncResponseStream();
|
||||
bool _sourceValid(){ return (_state < RESPONSE_END); }
|
||||
size_t _fillBuffer(uint8_t *buf, size_t maxLen);
|
||||
|
@@ -166,7 +166,7 @@ class AsyncWebServerRequest {
|
||||
AsyncWebServerResponse *beginResponse(FS &fs, String path, String contentType=String(), bool download=false);
|
||||
AsyncWebServerResponse *beginResponse(Stream &stream, String contentType, size_t len);
|
||||
AsyncWebServerResponse *beginResponse(String contentType, size_t len, AwsResponseFiller callback);
|
||||
AsyncResponseStream *getResponseStream(String contentType, size_t len);
|
||||
AsyncResponseStream *beginResponseStream(String contentType, size_t len, size_t bufferSize=1460);
|
||||
|
||||
int headers(); // get header count
|
||||
bool hasHeader(String name);
|
||||
|
@@ -342,11 +342,11 @@ size_t AsyncCallbackResponse::_fillBuffer(uint8_t *data, size_t len){
|
||||
* Response Stream (You can print/write/printf to it, up to the contentLen bytes)
|
||||
* */
|
||||
|
||||
AsyncResponseStream::AsyncResponseStream(String contentType, size_t len){
|
||||
AsyncResponseStream::AsyncResponseStream(String contentType, size_t len, size_t bufferSize){
|
||||
_code = 200;
|
||||
_contentLength = len;
|
||||
_contentType = contentType;
|
||||
_content = new cbuf(1460);
|
||||
_content = new cbuf(bufferSize);
|
||||
}
|
||||
|
||||
AsyncResponseStream::~AsyncResponseStream(){
|
||||
|
@@ -615,10 +615,8 @@ AsyncWebServerResponse * AsyncWebServerRequest::beginResponse(String contentType
|
||||
return new AsyncCallbackResponse(contentType, len, callback);
|
||||
}
|
||||
|
||||
AsyncResponseStream * AsyncWebServerRequest::getResponseStream(String contentType, size_t len){
|
||||
AsyncResponseStream * r = new AsyncResponseStream(contentType, len);
|
||||
send(r);
|
||||
return r;
|
||||
AsyncResponseStream * AsyncWebServerRequest::beginResponseStream(String contentType, size_t len, size_t bufferSize){
|
||||
return new AsyncResponseStream(contentType, len, bufferSize);
|
||||
}
|
||||
|
||||
void AsyncWebServerRequest::send(int code, String contentType, String content){
|
||||
|
Reference in New Issue
Block a user