package com.hubilon.handler; import com.hubilon.config.ConfigService; import com.hubilon.util.HttpResponses; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import java.io.IOException; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; public final class ConfigsHandler implements HttpHandler { private final ConfigService configService; private final String preferredConfig; public ConfigsHandler(ConfigService configService, String preferredConfig) { this.configService = configService; this.preferredConfig = preferredConfig; } @Override public void handle(HttpExchange exchange) throws IOException { List available = configService.listConfigFiles(); Map payload = new LinkedHashMap<>(); payload.put("files", available); payload.put("default", configService.resolveDefaultConfig(preferredConfig, available)); HttpResponses.sendJson(exchange, 200, payload); } }