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}