]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/http/HttpServerHandler.java
Reformat code
[signal-cli] / src / main / java / org / asamk / signal / http / HttpServerHandler.java
index f7f2768d6bffdf21312d7557af758982ecce2a6e..39e7f51eaa87e363242c2ece255993e21a984f85 100644 (file)
@@ -13,7 +13,6 @@ import org.asamk.signal.jsonrpc.SignalJsonRpcCommandHandler;
 import org.asamk.signal.manager.Manager;
 import org.asamk.signal.manager.MultiAccountManager;
 import org.asamk.signal.manager.api.Pair;
-import org.asamk.signal.manager.util.Utils;
 import org.asamk.signal.util.Util;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -59,6 +58,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 +88,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;
         }
@@ -136,7 +137,7 @@ public class HttpServerHandler {
 
         try {
             final var queryString = httpExchange.getRequestURI().getQuery();
-            final var query = queryString == null ? Map.<String, String>of() : Utils.getQueryMap(queryString);
+            final var query = queryString == null ? Map.<String, String>of() : Util.getQueryMap(queryString);
 
             List<Manager> managers = getManagerFromQuery(query);
             if (managers == null) {
@@ -186,6 +187,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<Manager> getManagerFromQuery(final Map<String, String> query) {
         List<Manager> managers;
         if (m != null) {