🎨 Adds endpoints for wifi and ap

This commit is contained in:
Rune Harlyk
2025-12-20 21:07:32 +01:00
parent 097cc0e33e
commit 0556f86473
2 changed files with 24 additions and 7 deletions
+22 -1
View File
@@ -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
+2 -6
View File
@@ -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<PsychicWebHandler*>(&buf[i * sizeof(PsychicWebHandler)]));
break;
if (strcmp(a->uri, WWW_OPT.default_uri) == 0) {
server.defaultEndpoint->setHandler(handle);
}
}
}