diff --git a/docs/web-server.md b/docs/web-server.md index c226a3d..dba00f3 100644 --- a/docs/web-server.md +++ b/docs/web-server.md @@ -14,6 +14,27 @@ The web server has only one public method. Call this method in your setup functi ## Class Members +#### requestHandler +```c++ +ArRequestHandlerFunction requestHandler = serveProgmem; +``` + +Use this to override the requestHandler before calling `GUI.begin()`: + +```c++ +GUI.requestHandler = alternativeRequest; //override request handler +GUI.begin(); +``` +With another request handler, such as: + +```c++ +void alternativeRequest(AsyncWebServerRequest *request) +{ + request->send(200, "text/plain", "Hello World!"); +} +``` +This allows you to add your own logic into the webserver. + #### server ```c++ diff --git a/src/webServer.cpp b/src/webServer.cpp index 89582a7..4ec075d 100644 --- a/src/webServer.cpp +++ b/src/webServer.cpp @@ -21,7 +21,7 @@ void webServer::begin() server.serveStatic("/download", LittleFS, "/"); - server.onNotFound(serveProgmem); + server.onNotFound(requestHandler); //handle uploads server.on(PSTR("/upload"), HTTP_POST, [](AsyncWebServerRequest *request) {}, handleFileUpload); diff --git a/src/webServer.h b/src/webServer.h index 170cbe9..a4bbc16 100644 --- a/src/webServer.h +++ b/src/webServer.h @@ -14,6 +14,7 @@ class webServer public: AsyncWebServer server = AsyncWebServer(80); AsyncWebSocket ws = AsyncWebSocket("/ws"); + ArRequestHandlerFunction requestHandler = serveProgmem; void begin(); };