diff --git a/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java b/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java index f478eae..9028195 100644 --- a/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java +++ b/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java @@ -910,14 +910,15 @@ final class S3ProxyHandler extends AbstractHandler { try (InputStream is = request.getInputStream(); Writer writer = new OutputStreamWriter(response.getOutputStream(), StandardCharsets.UTF_8)) { + Collection blobNames = parseSimpleXmlElements(is, "Key"); + blobStore.removeBlobs(containerName, blobNames); + XMLStreamWriter xml = xmlOutputFactory.createXMLStreamWriter( writer); xml.writeStartDocument(); xml.writeStartElement("DeleteResult"); xml.writeDefaultNamespace(AWS_XMLNS); - for (String blobName : parseSimpleXmlElements(is, "Key")) { - blobStore.removeBlob(containerName, blobName); - + for (String blobName : blobNames) { xml.writeStartElement("Deleted"); xml.writeStartElement("Key"); xml.writeCharacters(blobName);