Response Buffer added to WebKernel

feature/UrlUtils
Kenneth Barbour 2018-03-13 15:53:55 -04:00 committed by Kenneth Barbour
parent d5abc32e3c
commit 91440090b2
2 changed files with 9 additions and 2 deletions

View File

@ -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)

View File

@ -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;
};