X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/a780be70dd98679b732baa9ef0a4645126d31b08..15630356e18f59e8f4d29a5c9f215003ad07402e:/src/main/java/org/asamk/signal/http/HttpServerHandler.java diff --git a/src/main/java/org/asamk/signal/http/HttpServerHandler.java b/src/main/java/org/asamk/signal/http/HttpServerHandler.java index f7f2768d..f7d06b15 100644 --- a/src/main/java/org/asamk/signal/http/HttpServerHandler.java +++ b/src/main/java/org/asamk/signal/http/HttpServerHandler.java @@ -59,6 +59,7 @@ public class HttpServerHandler { server.createContext("/api/v1/rpc", this::handleRpcEndpoint); server.createContext("/api/v1/events", this::handleEventsEndpoint); + server.createContext("/api/v1/check", this::handleCheckEndpoint); server.start(); } @@ -88,7 +89,8 @@ public class HttpServerHandler { return; } - if (!"application/json".equals(httpExchange.getRequestHeaders().getFirst("Content-Type"))) { + final var contentType = httpExchange.getRequestHeaders().getFirst("Content-Type"); + if (contentType == null || !contentType.startsWith("application/json")) { sendResponse(415, null, httpExchange); return; } @@ -186,6 +188,19 @@ public class HttpServerHandler { } } + private void handleCheckEndpoint(HttpExchange httpExchange) throws IOException { + if (!"/api/v1/check".equals(httpExchange.getRequestURI().getPath())) { + sendResponse(404, null, httpExchange); + return; + } + if (!"GET".equals(httpExchange.getRequestMethod())) { + sendResponse(405, null, httpExchange); + return; + } + + sendResponse(200, null, httpExchange); + } + private List getManagerFromQuery(final Map query) { List managers; if (m != null) {