001package io.prometheus.metrics.exporter.httpserver;
002
003import com.sun.net.httpserver.HttpExchange;
004import com.sun.net.httpserver.HttpHandler;
005
006import java.io.IOException;
007import java.nio.charset.StandardCharsets;
008
009/**
010 * Handler for the /-/healthy endpoint
011 */
012public class HealthyHandler implements HttpHandler {
013
014    private final byte[] responseBytes;
015    private final String contentType;
016
017    public HealthyHandler() {
018        String responseString = "Exporter is healthy.\n";
019        this.responseBytes = responseString.getBytes(StandardCharsets.UTF_8);
020        this.contentType = "text/plain; charset=utf-8";
021    }
022
023    @Override
024    public void handle(HttpExchange exchange) throws IOException {
025        exchange.getResponseHeaders().set("Content-Type", contentType);
026        exchange.getResponseHeaders().set("Content-Length", Integer.toString(responseBytes.length));
027        exchange.sendResponseHeaders(200, responseBytes.length);
028        exchange.getResponseBody().write(responseBytes);
029        exchange.close();
030    }
031}