package it.cavallium.strangedb.server.http; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import it.cavallium.strangedb.server.Server; import java.io.IOException; import java.io.OutputStream; import java.nio.charset.StandardCharsets; public class SizeHandler implements HttpHandler { private final Server server; public SizeHandler(Server server) { this.server = server; } @Override public void handle(HttpExchange exchange) throws IOException { String requestPath = exchange.getRequestURI().toString().split("/size/", 2)[1].replace('(', '[').replace(')', ']'); int responseCode = 500; String response; try { response = "" + server.size(requestPath); responseCode = 200; } catch (Exception ex) { ex.printStackTrace(); response = "Error"; } byte[] responseBytes = response.getBytes(StandardCharsets.UTF_8); exchange.sendResponseHeaders(responseCode, responseBytes.length); OutputStream os = exchange.getResponseBody(); os.write(responseBytes); os.close(); } }