]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/jsonrpc/JsonRpcReader.java
Extend logging in JsonRpcReader
[signal-cli] / src / main / java / org / asamk / signal / jsonrpc / JsonRpcReader.java
index 67fced0ddfe34ef4cfbee253322f0fa87e0800cc..64220a38994e57bf2078d1497a7e00d8f27d06c0 100644 (file)
@@ -41,13 +41,14 @@ public class JsonRpcReader {
             JsonRpcMessage message = readMessage();
             if (message == null) break;
 
             JsonRpcMessage message = readMessage();
             if (message == null) break;
 
-            if (message instanceof JsonRpcRequest) {
-                final var response = handleRequest(requestHandler, (JsonRpcRequest) message);
+            if (message instanceof final JsonRpcRequest jsonRpcRequest) {
+                logger.debug("Received json rpc request, method: " + jsonRpcRequest.method);
+                final var response = handleRequest(requestHandler, jsonRpcRequest);
                 if (response != null) {
                     jsonRpcSender.sendResponse(response);
                 }
                 if (response != null) {
                     jsonRpcSender.sendResponse(response);
                 }
-            } else if (message instanceof JsonRpcResponse) {
-                responseHandler.accept((JsonRpcResponse) message);
+            } else if (message instanceof JsonRpcResponse jsonRpcResponse) {
+                responseHandler.accept(jsonRpcResponse);
             } else {
                 final var responseList = ((JsonRpcBulkMessage) message).getMessages().stream().map(jsonNode -> {
                     final JsonRpcRequest request;
             } else {
                 final var responseList = ((JsonRpcBulkMessage) message).getMessages().stream().map(jsonNode -> {
                     final JsonRpcRequest request;
@@ -70,10 +71,17 @@ public class JsonRpcReader {
             final var result = requestHandler.apply(request.getMethod(), request.getParams());
             if (request.getId() != null) {
                 return JsonRpcResponse.forSuccess(result, request.getId());
             final var result = requestHandler.apply(request.getMethod(), request.getParams());
             if (request.getId() != null) {
                 return JsonRpcResponse.forSuccess(result, request.getId());
+            } else {
+                logger.debug("Command '{}' succeeded but client didn't specify an id, dropping response",
+                        request.getMethod());
             }
         } catch (JsonRpcException e) {
             if (request.getId() != null) {
                 return JsonRpcResponse.forError(e.getError(), request.getId());
             }
         } catch (JsonRpcException e) {
             if (request.getId() != null) {
                 return JsonRpcResponse.forError(e.getError(), request.getId());
+            } else {
+                logger.debug("Command '{}' failed but client didn't specify an id, dropping error: {}",
+                        request.getMethod(),
+                        e.getMessage());
             }
         }
         return null;
             }
         }
         return null;