41 lines
1.5 KiB
Java
41 lines
1.5 KiB
Java
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) {
|
|
ServletHolder holder = new ServletHolder(servlet);
|
|
context.addServlet(holder, path);
|
|
}
|
|
}
|