From 5166a155f6e73b95c0831cd4c9ff6503bc946871 Mon Sep 17 00:00:00 2001 From: Aleksei Date: Wed, 17 Jun 2026 09:02:44 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D0=B9=20POST=20redirect=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20barrier=5Fnode=20v1.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- barrier_node/barrier_node.ino | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/barrier_node/barrier_node.ino b/barrier_node/barrier_node.ino index 897d8a8..4f20c6e 100644 --- a/barrier_node/barrier_node.ino +++ b/barrier_node/barrier_node.ino @@ -193,27 +193,22 @@ void setupRoutes() { server.send(200, "text/html", buildPage()); }); - // Открытие через браузер (POST) + // Открытие через браузер (POST + redirect — обновление страницы не повторяет команду) server.on("/open", HTTP_POST, []() { + server.sendHeader("Location", "/?ok=1"); + server.send(302); triggerRelay(); - server.send(200, "text/html", buildPage("✅ Команда выполнена")); }); // Открытие от контроллера (GET + токен) server.on("/open", HTTP_GET, []() { String token = server.header("X-Token"); - // Если запрос из браузера (нет токена) — разрешаем - // Если запрос от контроллера — проверяем токен - if (token.length() > 0 && token != cfg_token) { + if (token != cfg_token) { server.send(401, "text/plain", "unauthorized"); return; } triggerRelay(); - if (token.length() > 0) { - server.send(200, "text/plain", "ok"); - } else { - server.send(200, "text/html", buildPage("✅ Команда выполнена")); - } + server.send(200, "text/plain", "ok"); }); server.on("/save", HTTP_POST, []() {