diff options
-rw-r--r-- | gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java index 1279339215..45144d7179 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java @@ -103,6 +103,7 @@ import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.EOFException; +import java.io.FilterOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -740,10 +741,15 @@ public class RestApiServlet extends HttpServlet { b64 = new BinaryResult() { @Override public void writeTo(OutputStream out) throws IOException { - try (OutputStreamWriter w = new OutputStreamWriter(out, ISO_8859_1); + try (OutputStreamWriter w = new OutputStreamWriter( + new FilterOutputStream(out) { + @Override + public void close() { + // Do not close out, but only w and e. + } + }, ISO_8859_1); OutputStream e = BaseEncoding.base64().encodingStream(w)) { src.writeTo(e); - e.flush(); } } }; |