From e3c49331ac5c6981c38782e9fbc5121c25fb6d81 Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Tue, 13 Jan 2015 17:46:52 -0800 Subject: [PATCH] Emit UTF-8 in object listing and multi-delete Fixes s3cmd tests failures seen with Unicode object names. --- src/main/java/org/gaul/s3proxy/S3ProxyHandler.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java b/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java index 5f1a311..421b30f 100644 --- a/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java +++ b/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java @@ -19,6 +19,7 @@ package org.gaul.s3proxy; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.OutputStreamWriter; import java.io.PushbackInputStream; import java.io.Writer; import java.net.URLDecoder; @@ -614,7 +615,8 @@ final class S3ProxyHandler extends AbstractHandler { return; } - try (Writer writer = response.getWriter()) { + try (Writer writer = new OutputStreamWriter(response.getOutputStream(), + StandardCharsets.UTF_8)) { response.setStatus(HttpServletResponse.SC_OK); XMLStreamWriter xml = xmlOutputFactory.createXMLStreamWriter( writer); @@ -759,7 +761,8 @@ final class S3ProxyHandler extends AbstractHandler { HttpServletResponse response, String containerName) throws IOException { try (InputStream is = request.getInputStream(); - Writer writer = response.getWriter()) { + Writer writer = new OutputStreamWriter(response.getOutputStream(), + StandardCharsets.UTF_8)) { XMLStreamWriter xml = xmlOutputFactory.createXMLStreamWriter( writer); xml.writeStartDocument();