]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/JsonReceiveMessageHandler.java
Update libsignal-service-java
[signal-cli] / src / main / java / org / asamk / signal / JsonReceiveMessageHandler.java
index 38657f5e618f71b40e08f1717926c30898a67aae..73c88947c413abac3b3544d23673ef647ab61f05 100644 (file)
@@ -8,7 +8,6 @@ import org.slf4j.LoggerFactory;
 import org.whispersystems.signalservice.api.messages.SignalServiceContent;
 import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
 
-import java.io.IOException;
 import java.util.HashMap;
 
 public class JsonReceiveMessageHandler implements Manager.ReceiveMessageHandler {
@@ -18,9 +17,9 @@ public class JsonReceiveMessageHandler implements Manager.ReceiveMessageHandler
     protected final Manager m;
     private final JsonWriter jsonWriter;
 
-    public JsonReceiveMessageHandler(Manager m) {
+    public JsonReceiveMessageHandler(Manager m, JsonWriter jsonWriter) {
         this.m = m;
-        jsonWriter = new JsonWriter(System.out);
+        this.jsonWriter = jsonWriter;
     }
 
     @Override
@@ -29,13 +28,11 @@ public class JsonReceiveMessageHandler implements Manager.ReceiveMessageHandler
         if (exception != null) {
             object.put("error", new JsonError(exception));
         }
+
         if (envelope != null) {
-            object.put("envelope", new JsonMessageEnvelope(envelope, content, m));
-        }
-        try {
-            jsonWriter.write(object);
-        } catch (IOException e) {
-            logger.error("Failed to write json object: {}", e.getMessage());
+            object.put("envelope", new JsonMessageEnvelope(envelope, content, exception, m));
         }
+
+        jsonWriter.write(object);
     }
 }