diff --git a/esp32/src/main.cpp b/esp32/src/main.cpp index 2cbcbb4..2509c1d 100644 --- a/esp32/src/main.cpp +++ b/esp32/src/main.cpp @@ -39,7 +39,7 @@ WiFiService wifiService; APService apService; void setupServer() { - server.config.max_uri_handlers = 10 + WWW_ASSETS_COUNT; + server.config.max_uri_handlers = 18 + WWW_ASSETS_COUNT; server.maxUploadSize = 1000000; // 1 MB; server.listen(80); server.serveStatic("/api/config/", ESP_FS, "/config/"); @@ -70,6 +70,27 @@ void setupServer() { server.on("/api/servo/config", HTTP_POST, [&](PsychicRequest *request, JsonVariant &json) { return servoController.endpoint.handleStateUpdate(request, json); }); + + // WiFi + server.on("/api/wifi/sta/settings", HTTP_GET, + [&](PsychicRequest *request) { return wifiService.endpoint.getState(request); }); + server.on("/api/wifi/sta/settings", HTTP_POST, [&](PsychicRequest *request, JsonVariant &json) { + return wifiService.endpoint.handleStateUpdate(request, json); + }); + server.on("/api/wifi/scan", HTTP_GET, [&](PsychicRequest *request) { return wifiService.handleScan(request); }); + server.on("/api/wifi/networks", HTTP_GET, + [&](PsychicRequest *request) { return wifiService.getNetworks(request); }); + server.on("/api/wifi/sta/status", HTTP_GET, + [&](PsychicRequest *request) { return wifiService.getNetworkStatus(request); }); + + // AP + server.on("/api/ap/status", HTTP_GET, [&](PsychicRequest *request) { return apService.getStatus(request); }); + server.on("/api/ap/settings", HTTP_GET, + [&](PsychicRequest *request) { return apService.endpoint.getState(request); }); + server.on("/api/ap/settings", HTTP_POST, [&](PsychicRequest *request, JsonVariant &json) { + return apService.endpoint.handleStateUpdate(request, json); + }); + #if EMBED_WEBAPP mountStaticAssets(server); #endif diff --git a/esp32/src/www_mount.cpp b/esp32/src/www_mount.cpp index bd055c0..142a479 100644 --- a/esp32/src/www_mount.cpp +++ b/esp32/src/www_mount.cpp @@ -23,12 +23,8 @@ void mountStaticAssets(PsychicHttpServer& server) { auto* handle = new (&buf[i * sizeof(PsychicWebHandler)]) PsychicWebHandler(); handle->onRequest([a](PsychicRequest* req) { return web_send(req, *a); }); server.on(a->uri, HTTP_GET, handle); - } - for (size_t i = 0; i < WWW_ASSETS_COUNT; i++) { - if (strcmp(WWW_ASSETS[i].uri, WWW_OPT.default_uri) == 0) { - server.defaultEndpoint->setHandler( - reinterpret_cast(&buf[i * sizeof(PsychicWebHandler)])); - break; + if (strcmp(a->uri, WWW_OPT.default_uri) == 0) { + server.defaultEndpoint->setHandler(handle); } } } \ No newline at end of file