rc-gateway/gateway/include/webserver.h

46 lines
1.2 KiB
C++

#ifdef ESP32
#include <AsyncTCP.h>
#elif defined(ESP8266)
#include <ESPAsyncTCP.h>
#endif
#include <ESPAsyncWebServer.h>
#include "devices.h"
AsyncWebServer server(80);
namespace WebServer {
void notFound(AsyncWebServerRequest *request) {
request->send(404, "text/plain", "Not found");
}
void setup() {
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
request->send(200, "text/plain", "Hello, world");
});
server.on("/switch/homebox", HTTP_GET, [](AsyncWebServerRequest *request) {
if (request->hasParam("state")) {
AsyncWebParameter* switchState = request->getParam("state");
switchHomebox->onCommand(switchState->value().c_str());
request->send(200, "text/plain", switchState->value().c_str());
} else {
request->send(200, "text/plain", "No parameters provided");
}
});
server.on("/restart", HTTP_GET, [](AsyncWebServerRequest *request) {
request->send(200, "text/plain");
ESP.restart();
});
server.onNotFound(notFound);
server.begin();
}
void stop() {
server.end();
}
}