From 1284c91e37c95bdf88cd6e0037e9d34efe033f10 Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Tue, 29 Jul 2014 12:06:39 -0700 Subject: [PATCH] Emit NoSuchBucket on write to non-existent bucket Found with Ceph s3-tests. References #5. --- src/main/java/org/gaul/s3proxy/S3ProxyHandler.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java b/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java index 4acdce1..a71bf96 100644 --- a/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java +++ b/src/main/java/org/gaul/s3proxy/S3ProxyHandler.java @@ -572,6 +572,11 @@ final class S3ProxyHandler extends AbstractHandler { try { String eTag = blobStore.putBlob(containerName, builder.build()); response.addHeader(HttpHeaders.ETAG, "\"" + eTag + "\""); + } catch (ContainerNotFoundException cnfe) { + sendSimpleErrorResponse(response, + HttpServletResponse.SC_NOT_FOUND, "NoSuchBucket", + "Not Found", Optional.absent()); + return; } catch (HttpResponseException hre) { int status = hre.getResponse().getStatusCode(); if (status == HttpServletResponse.SC_BAD_REQUEST) {