From 91440090b27e0cf4c945fbc719a37e82c0e68c73 Mon Sep 17 00:00:00 2001 From: Kenneth Barbour Date: Tue, 13 Mar 2018 15:53:55 -0400 Subject: [PATCH] Response Buffer added to WebKernel --- src/WebKernel.cpp | 3 ++- src/WebKernel.h | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/WebKernel.cpp b/src/WebKernel.cpp index 2956a67..06de12e 100644 --- a/src/WebKernel.cpp +++ b/src/WebKernel.cpp @@ -30,7 +30,7 @@ void WebKernel::handleClients() _stateChange = millis(); _client.flush(); case S_DISPATCHING: - HttpResponse response; + HttpResponse response(_resp_buffer); _dispatcher.handle(_request, response); response.headers.set("Connection","close"); _client.print(response); @@ -45,6 +45,7 @@ void WebKernel::handleClients() if (!keepClient) { _client.stop(); _state = S_IDLE; + _resp_buffer.flush(); } if (shouldYield) diff --git a/src/WebKernel.h b/src/WebKernel.h index f3290da..a9e17af 100644 --- a/src/WebKernel.h +++ b/src/WebKernel.h @@ -7,6 +7,8 @@ #define WEBKERNEL_MAX_WAIT 1000 +#define WEBKERNEL_RESPONSE_SIZE 1024 + enum WebKernelState { S_IDLE, S_RECEIVING, @@ -23,7 +25,8 @@ class WebKernel _router(routes, num), _state(S_IDLE), _dispatcher(_router), - _parser(_request, _client) + _parser(_request, _client), + _resp_buffer(_resp_data, WEBKERNEL_RESPONSE_SIZE) {}; void begin() { _server.begin(); } void handleClients(); @@ -42,4 +45,7 @@ class WebKernel RouteDispatcher _dispatcher; WebKernelState _state; unsigned long int _stateChange; + + uint8_t _resp_data[WEBKERNEL_RESPONSE_SIZE]; + Buffer _resp_buffer; };