From 54a55f4ea9b8aca043790079bb7650379413a7c8 Mon Sep 17 00:00:00 2001 From: cedb Date: Wed, 23 Nov 2022 23:34:54 -0500 Subject: [PATCH] Fix handling of attachments in JSON RPC It turns out that using a custom serializer on an input stream did not work well. For one the stream seems to be getting closed before the JSON gets written. But also the method for writing it was throwing an UnsupportedOperationException further down in Jackson. The above simplifies the matter by simply outputting the Base64 string first and then setting it on the model. --- .../signal/json/JsonStreamSerializer.java | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 src/main/java/org/asamk/signal/json/JsonStreamSerializer.java diff --git a/src/main/java/org/asamk/signal/json/JsonStreamSerializer.java b/src/main/java/org/asamk/signal/json/JsonStreamSerializer.java deleted file mode 100644 index 4cd2797e..00000000 --- a/src/main/java/org/asamk/signal/json/JsonStreamSerializer.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.asamk.signal.json; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; - -import java.io.IOException; -import java.io.InputStream; - -public class JsonStreamSerializer extends JsonSerializer { - - @Override - public void serialize( - final InputStream value, final JsonGenerator jsonGenerator, final SerializerProvider serializers - ) throws IOException { - jsonGenerator.writeBinary(value, -1); - } -}