X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/de273586b4106171a3940ce5ec2c2b3712430c8c..2ab42ca5471e8fc1e1a31cde954e19564178f114:/src/main/java/org/asamk/signal/JsonReceiveMessageHandler.java diff --git a/src/main/java/org/asamk/signal/JsonReceiveMessageHandler.java b/src/main/java/org/asamk/signal/JsonReceiveMessageHandler.java index 38657f5e..1135e89a 100644 --- a/src/main/java/org/asamk/signal/JsonReceiveMessageHandler.java +++ b/src/main/java/org/asamk/signal/JsonReceiveMessageHandler.java @@ -3,12 +3,10 @@ package org.asamk.signal; import org.asamk.signal.json.JsonError; import org.asamk.signal.json.JsonMessageEnvelope; import org.asamk.signal.manager.Manager; +import org.asamk.signal.manager.api.MessageEnvelope; import org.slf4j.Logger; 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,24 +16,22 @@ 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 - public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception) { + public void handleMessage(MessageEnvelope envelope, Throwable exception) { final var object = new HashMap(); if (exception != null) { - object.put("error", new JsonError(exception)); + object.put("error", JsonError.from(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", JsonMessageEnvelope.from(envelope, exception, m)); } + + jsonWriter.write(object); } }