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
;
15 public class JsonReceiveMessageHandler
implements Manager
.ReceiveMessageHandler
{
17 private final static Logger logger
= LoggerFactory
.getLogger(JsonReceiveMessageHandler
.class);
19 protected final Manager m
;
20 private final JsonWriter jsonWriter
;
22 public JsonReceiveMessageHandler(Manager m
) {
24 jsonWriter
= new JsonWriter(System
.out
);
28 public void handleMessage(SignalServiceEnvelope envelope
, SignalServiceContent content
, Throwable exception
) {
29 final Map
<String
, Object
> object
= new HashMap
<>();
30 if (exception
!= null) {
31 object
.put("error", new JsonError(exception
));
33 if (envelope
!= null) {
34 object
.put("envelope", new JsonMessageEnvelope(envelope
, content
, m
));
37 jsonWriter
.write(object
);
38 } catch (IOException e
) {
39 logger
.error("Failed to write json object: {}", e
.getMessage());