1 package org
.asamk
.signal
;
3 import org
.asamk
.signal
.json
.JsonError
;
4 import org
.asamk
.signal
.json
.JsonMessageEnvelope
;
5 import org
.asamk
.signal
.manager
.Manager
;
6 import org
.slf4j
.Logger
;
7 import org
.slf4j
.LoggerFactory
;
8 import org
.whispersystems
.signalservice
.api
.messages
.SignalServiceContent
;
9 import org
.whispersystems
.signalservice
.api
.messages
.SignalServiceEnvelope
;
11 import java
.io
.IOException
;
12 import java
.util
.HashMap
;
14 public class JsonReceiveMessageHandler
implements Manager
.ReceiveMessageHandler
{
16 private final static Logger logger
= LoggerFactory
.getLogger(JsonReceiveMessageHandler
.class);
18 protected final Manager m
;
19 private final JsonWriter jsonWriter
;
21 public JsonReceiveMessageHandler(Manager m
) {
23 jsonWriter
= new JsonWriter(System
.out
);
27 public void handleMessage(SignalServiceEnvelope envelope
, SignalServiceContent content
, Throwable exception
) {
28 final var object
= new HashMap
<String
, Object
>();
29 if (exception
!= null) {
30 object
.put("error", new JsonError(exception
));
32 if (envelope
!= null) {
33 object
.put("envelope", new JsonMessageEnvelope(envelope
, content
, m
));
36 jsonWriter
.write(object
);
37 } catch (IOException e
) {
38 logger
.error("Failed to write json object: {}", e
.getMessage());