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;
server.createContext("/api/v1/rpc", this::handleRpcEndpoint);
server.createContext("/api/v1/events", this::handleEventsEndpoint);
+ server.createContext("/api/v1/check", this::handleCheckEndpoint);
server.start();
}
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;
}
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) {
}
}
+ 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) {