made website working

This commit is contained in:
2021-04-22 20:52:19 +02:00
parent 8ba23873b8
commit d95b851055
8 changed files with 197 additions and 17 deletions

View File

@@ -34,6 +34,7 @@ namespace Connection {
void onApiStatusRoute();
void getCurrentStateRoute();
void onDeviceRoute();
}
// serial
@@ -79,6 +80,7 @@ void Connection::initWifi(){
server.on("/api/status", Connection::onApiStatusRoute);
server.on("/api/currentstate", Connection::getCurrentStateRoute);
server.on("/api/device", Connection::onDeviceRoute);
server.begin();
}
@@ -91,7 +93,9 @@ void Connection::sendResponse(DynamicJsonDocument response) {
// Prepare data to return
char serializedJson[jsonBufferSize];
serializeJson(response, serializedJson);
//added cors
server.sendHeader("Access-Control-Allow-Origin", "*");
// Send response
server.send(200, "application/json", serializedJson);
}
@@ -120,4 +124,37 @@ void Connection::getCurrentStateRoute() {
// Send response
sendResponse(response);
}
void Connection::onDeviceRoute() {
// Init Json Document
DynamicJsonDocument response(jsonBufferSize);
// Check params
if (server.arg("id").isEmpty() || server.arg("action").isEmpty() || server.arg("data").isEmpty()) {
response["status"] = "error";
response["msg"] = "Invalid parameter fields!";
return sendResponse(response);
}
// Get parameters from request
int idBuffer = server.arg("id").length() + 1;
char id[idBuffer];
server.arg("id").toCharArray(id, idBuffer);
int commandBuffer = server.arg("action").length() + 1;
char command[commandBuffer];
server.arg("action").toCharArray(command, commandBuffer);
int dataBuffer = server.arg("data").length() + 1;
char data[dataBuffer];
server.arg("data").toCharArray(data, dataBuffer);
// Send packet to controller
controller.sendPacket(id, command, data);
response["status"] = "success";
response["msg"] = "Processed command!";
sendResponse(response);
}