diff --git a/lib/webserver/GwWebServer.cpp b/lib/webserver/GwWebServer.cpp index a09c711..118a503 100644 --- a/lib/webserver/GwWebServer.cpp +++ b/lib/webserver/GwWebServer.cpp @@ -39,6 +39,8 @@ void sendEmbeddedFile(String name,String contentType,AsyncWebServerRequest *requ GwWebServer::GwWebServer(GwLog* logger,GwRequestQueue *queue,int port){ server=new AsyncWebServer(port); + debugSocket=new AsyncWebSocket("/api/debugSocket"); + server->addHandler(debugSocket); this->queue=queue; this->logger=logger; } @@ -117,4 +119,7 @@ bool GwWebServer::registerMainHandler(const char *url,RequestCreator creator){ }); return true; } +void GwWebServer::sendDebugLine(const char *line){ + debugSocket->textAll(line); +} diff --git a/lib/webserver/GwWebServer.h b/lib/webserver/GwWebServer.h index 0afd0aa..c53910e 100644 --- a/lib/webserver/GwWebServer.h +++ b/lib/webserver/GwWebServer.h @@ -6,6 +6,7 @@ class GwWebServer{ private: AsyncWebServer *server; + AsyncWebSocket *debugSocket; GwRequestQueue *queue; GwLog *logger; public: @@ -15,5 +16,6 @@ class GwWebServer{ void begin(); bool registerMainHandler(const char *url,RequestCreator creator); void handleAsyncWebRequest(AsyncWebServerRequest *request, GwRequestMessage *msg); + void sendDebugLine(const char *line); }; #endif \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index e8448c4..c84f2c0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -198,6 +198,7 @@ class GwSerialLog : public GwLogWriter{ logBuffer[wp]=0; } virtual void flush(){ + webserver.sendDebugLine(logBuffer); size_t handled=0; while (handled < wp){ usbSerial->flush();