diff --git a/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java b/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java index 4a9c87c..b15a5f2 100644 --- a/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java +++ b/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java @@ -277,6 +277,10 @@ final class S3ProxyHandler extends AbstractHandler { handleContainerOrBlobAcl(response, path[1]); baseRequest.setHandled(true); return; + } else if ("".equals(request.getParameter("location"))) { + handleContainerLocation(response, path[1]); + baseRequest.setHandled(true); + return; } handleBlobList(request, response, path[1]); baseRequest.setHandled(true); @@ -400,6 +404,16 @@ final class S3ProxyHandler extends AbstractHandler { } } + private void handleContainerLocation(HttpServletResponse response, + String containerName) throws IOException { + try (Writer writer = response.getWriter()) { + // TODO: using us-standard semantics but could emit actual location + writer.write(XML_PROLOG + + ""); + writer.flush(); + } + } + private void handleContainerExists(HttpServletResponse response, String containerName) throws IOException { if (!blobStore.containerExists(containerName)) {