fix: правильный POST redirect для barrier_node v1.3
This commit is contained in:
@@ -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, []() {
|
||||||
|
|||||||
Reference in New Issue
Block a user