From 9f817ae2d0cc66bcbc0c683e9d51d28b19ee9c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xose=20P=C3=A9rez?= Date: Tue, 12 Jun 2018 23:32:42 +0200 Subject: [PATCH] Fix telnet & web debug responsiveness (#896) --- code/espurna/debug.ino | 7 +++++++ code/espurna/web.ino | 16 ++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/code/espurna/debug.ino b/code/espurna/debug.ino index 8045e5d8..641d28a7 100644 --- a/code/espurna/debug.ino +++ b/code/espurna/debug.ino @@ -26,6 +26,8 @@ char _udp_syslog_header[40] = {0}; void _debugSend(char * message) { + bool pause = false; + #if DEBUG_ADD_TIMESTAMP static bool add_timestamp = true; char timestamp[10] = {0}; @@ -50,6 +52,7 @@ void _debugSend(char * message) { #endif _udp_debug.write(message); _udp_debug.endPacket(); + pause = true; #if SYSTEM_CHECK_ENABLED } #endif @@ -60,6 +63,7 @@ void _debugSend(char * message) { _telnetWrite(timestamp, strlen(timestamp)); #endif _telnetWrite(message, strlen(message)); + pause = true; #endif #if DEBUG_WEB_SUPPORT @@ -75,9 +79,12 @@ void _debugSend(char * message) { snprintf_P(buffer, sizeof(buffer), PSTR("{\"weblog\": \"%s\"}"), m.c_str()); #endif wsSend(buffer); + pause = true; } #endif + if (pause) optimistic_yield(100); + } // ----------------------------------------------------------------------------- diff --git a/code/espurna/web.ino b/code/espurna/web.ino index 3e8447fb..b18e6a29 100644 --- a/code/espurna/web.ino +++ b/code/espurna/web.ino @@ -43,7 +43,9 @@ void _onReset(AsyncWebServerRequest *request) { void _onGetConfig(AsyncWebServerRequest *request) { webLog(request); - if (!webAuthenticate(request)) return request->requestAuthentication(getSetting("hostname").c_str()); + if (!webAuthenticate(request)) { + return request->requestAuthentication(getSetting("hostname").c_str()); + } AsyncResponseStream *response = request->beginResponseStream("text/json"); @@ -64,7 +66,9 @@ void _onGetConfig(AsyncWebServerRequest *request) { void _onPostConfig(AsyncWebServerRequest *request) { webLog(request); - if (!webAuthenticate(request)) return request->requestAuthentication(getSetting("hostname").c_str()); + if (!webAuthenticate(request)) { + return request->requestAuthentication(getSetting("hostname").c_str()); + } request->send(_webConfigSuccess ? 200 : 400); } @@ -112,7 +116,9 @@ void _onPostConfigData(AsyncWebServerRequest *request, String filename, size_t i void _onHome(AsyncWebServerRequest *request) { webLog(request); - if (!webAuthenticate(request)) return request->requestAuthentication(getSetting("hostname").c_str()); + if (!webAuthenticate(request)) { + return request->requestAuthentication(getSetting("hostname").c_str()); + } if (request->header("If-Modified-Since").equals(_last_modified)) { @@ -212,7 +218,9 @@ int _onCertificate(void * arg, const char *filename, uint8_t **buf) { void _onUpgrade(AsyncWebServerRequest *request) { webLog(request); - if (!webAuthenticate(request)) return request->requestAuthentication(getSetting("hostname").c_str()); + if (!webAuthenticate(request)) { + return request->requestAuthentication(getSetting("hostname").c_str()); + } char buffer[10]; if (!Update.hasError()) {