diff --git a/DEBUG_CONNECTION_TESTING.md b/DEBUG_CONNECTION_TESTING.md index 22ed591..22b7b5c 100644 --- a/DEBUG_CONNECTION_TESTING.md +++ b/DEBUG_CONNECTION_TESTING.md @@ -4,6 +4,9 @@ ## 1) Подготовка + +0. Убедись, что в `application.properties` включен параметр: + `debug.tempApi.enabled=true` 1. Создай файл `.debug-token` в корне проекта на основе `debug-token.example`. 2. В `.debug-token` должна быть одна строка: секретный токен. 3. Перезапусти сервер. diff --git a/src/main/java/server/debug/DebugApiConfigurator.java b/src/main/java/server/debug/DebugApiConfigurator.java index e65aab6..3669868 100644 --- a/src/main/java/server/debug/DebugApiConfigurator.java +++ b/src/main/java/server/debug/DebugApiConfigurator.java @@ -3,21 +3,34 @@ package server.debug; import jakarta.servlet.Servlet; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import utils.config.AppConfig; /** * Регистрирует HTTP debug endpoints. */ public final class DebugApiConfigurator { + private static final Logger log = LoggerFactory.getLogger(DebugApiConfigurator.class); + private static final String CFG_DEBUG_API_ENABLED = "debug.tempApi.enabled"; + private DebugApiConfigurator() { } public static void register(ServletContextHandler context) { + boolean enabled = AppConfig.getInstance().getBoolean(CFG_DEBUG_API_ENABLED, false); + if (!enabled) { + log.warn("⚠️ Debug API отключены настройкой {}=false", CFG_DEBUG_API_ENABLED); + return; + } + DebugTokenProvider tokenProvider = DebugTokenProvider.loadFromProjectRoot(); addServlet(context, new DebugClientsServlet(tokenProvider), "/debug/ws/clients"); addServlet(context, new DebugConnectServlet(tokenProvider), "/debug/ws/connect"); addServlet(context, new DebugLogsServlet(tokenProvider), "/debug/ws/logs"); + log.info("✅ Debug API включены настройкой {}=true", CFG_DEBUG_API_ENABLED); } private static void addServlet(ServletContextHandler context, Servlet servlet, String path) { diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7d887e0..336b5ab 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -17,3 +17,11 @@ server.info.extraInfo= webpush.vapid.public=BOdoWZndZRaNe9kyUFsJ5-xEfFABXNKennAKg15Z7ycAwUIQ7yDV_sIWWYJCwJriN4g9oU-CyJPrn1U6lfxuDbI webpush.vapid.private=3hCt7XxTvLzuoxinjT5QcKRQEBnGZHXn8ZilU31RPNE webpush.vapid.subject=mailto:admin@shine.local + +# ------------------------------------------------------------ +# Временные debug HTTP API для тестирования соединений +# true - endpoint'ы /debug/ws/* включены (только при наличии .debug-token) +# false - endpoint'ы /debug/ws/* полностью отключены +# Если параметр отсутствует, по умолчанию считается false +# ------------------------------------------------------------ +debug.tempApi.enabled=true