fix: правильный POST redirect для barrier_node v1.3

This commit is contained in:
Aleksei
2026-06-17 09:02:44 +00:00
parent 2563d854bb
commit 5166a155f6
+5 -10
View File
@@ -193,27 +193,22 @@ void setupRoutes() {
server.send(200, "text/html", buildPage()); server.send(200, "text/html", buildPage());
}); });
// Открытие через браузер (POST) // Открытие через браузер (POST + redirect — обновление страницы не повторяет команду)
server.on("/open", HTTP_POST, []() { server.on("/open", HTTP_POST, []() {
server.sendHeader("Location", "/?ok=1");
server.send(302);
triggerRelay(); triggerRelay();
server.send(200, "text/html", buildPage("✅ Команда выполнена"));
}); });
// Открытие от контроллера (GET + токен) // Открытие от контроллера (GET + токен)
server.on("/open", HTTP_GET, []() { server.on("/open", HTTP_GET, []() {
String token = server.header("X-Token"); String token = server.header("X-Token");
// Если запрос из браузера (нет токена) — разрешаем if (token != cfg_token) {
// Если запрос от контроллера — проверяем токен
if (token.length() > 0 && token != cfg_token) {
server.send(401, "text/plain", "unauthorized"); server.send(401, "text/plain", "unauthorized");
return; return;
} }
triggerRelay(); triggerRelay();
if (token.length() > 0) { server.send(200, "text/plain", "ok");
server.send(200, "text/plain", "ok");
} else {
server.send(200, "text/html", buildPage("✅ Команда выполнена"));
}
}); });
server.on("/save", HTTP_POST, []() { server.on("/save", HTTP_POST, []() {