diff --git a/api-errors.go b/api-errors.go index 0b6fd2d13..7cb6d5a7d 100644 --- a/api-errors.go +++ b/api-errors.go @@ -104,6 +104,7 @@ const ( ErrMissingDateHeader ErrInvalidQuerySignatureAlgo ErrInvalidQueryParams + ErrBucketAlreadyOwnedByYou // Add new error codes here. // Extended errors. @@ -409,6 +410,11 @@ var errorCodeResponse = map[APIErrorCode]APIError{ Description: "Query-string authentication version 4 requires the X-Amz-Algorithm, X-Amz-Credential, X-Amz-Signature, X-Amz-Date, X-Amz-SignedHeaders, and X-Amz-Expires parameters.", HTTPStatusCode: http.StatusBadRequest, }, + ErrBucketAlreadyOwnedByYou: { + Code: "BucketAlreadyOwnedByYou", + Description: "Your previous request to create the named bucket succeeded and you already own it.", + HTTPStatusCode: http.StatusConflict, + }, // Add your error structure here. } diff --git a/bucket-handlers.go b/bucket-handlers.go index 48d8b535c..6d4abfba2 100644 --- a/bucket-handlers.go +++ b/bucket-handlers.go @@ -499,7 +499,7 @@ func (api objectAPIHandlers) PutBucketHandler(w http.ResponseWriter, r *http.Req case BucketNameInvalid: writeErrorResponse(w, r, ErrInvalidBucketName, r.URL.Path) case BucketExists: - writeErrorResponse(w, r, ErrBucketAlreadyExists, r.URL.Path) + writeErrorResponse(w, r, ErrBucketAlreadyOwnedByYou, r.URL.Path) default: writeErrorResponse(w, r, ErrInternalError, r.URL.Path) } diff --git a/server_test.go b/server_test.go index 4f58bdbd0..29c9ff557 100644 --- a/server_test.go +++ b/server_test.go @@ -963,7 +963,7 @@ func (s *MyAPISuite) TestPutBucketErrors(c *C) { response, err = client.Do(request) c.Assert(err, IsNil) - verifyError(c, response, "BucketAlreadyExists", "The requested bucket name is not available.", http.StatusConflict) + verifyError(c, response, "BucketAlreadyOwnedByYou", "Your previous request to create the named bucket succeeded and you already own it.", http.StatusConflict) request, err = s.newRequest("PUT", testAPIFSCacheServer.URL+"/putbucket?acl", 0, nil) c.Assert(err, IsNil)