From 704fa420a3663abb0dd3ab41799b2c93e619a43f Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Fri, 16 Oct 2015 20:02:37 -0700 Subject: [PATCH] Reply back proper statuses for DeleteBucket/DeleteObject --- api-headers.go | 2 +- api-response.go | 6 ++++++ bucket-handlers.go | 2 +- object-handlers.go | 4 ++-- server_fs_test.go | 4 ++-- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/api-headers.go b/api-headers.go index fdeb64626..c56b3a6eb 100644 --- a/api-headers.go +++ b/api-headers.go @@ -46,7 +46,7 @@ func generateRequestID() []byte { func setCommonHeaders(w http.ResponseWriter, contentLength int) { // set unique request ID for each reply w.Header().Set("X-Amz-Request-Id", string(generateRequestID())) - w.Header().Set("Server", ("Minio/" + minioReleaseTag + " (" + runtime.GOOS + ";" + runtime.GOARCH + ")")) + w.Header().Set("Server", ("Minio/" + minioReleaseTag + " (" + runtime.GOOS + "; " + runtime.GOARCH + ")")) w.Header().Set("Accept-Ranges", "bytes") w.Header().Set("Connection", "close") // should be set to '0' by default diff --git a/api-response.go b/api-response.go index d15ad634d..0b371626d 100644 --- a/api-response.go +++ b/api-response.go @@ -212,6 +212,12 @@ func writeSuccessResponse(w http.ResponseWriter) { w.WriteHeader(http.StatusOK) } +// writeSuccessNoContent write success headers with http status 204 +func writeSuccessNoContent(w http.ResponseWriter) { + setCommonHeaders(w, 0) + w.WriteHeader(http.StatusNoContent) +} + // writeErrorRespone write error headers func writeErrorResponse(w http.ResponseWriter, req *http.Request, errorType int, resource string) { error := getErrorCode(errorType) diff --git a/bucket-handlers.go b/bucket-handlers.go index f5da4f605..c70b7ffef 100644 --- a/bucket-handlers.go +++ b/bucket-handlers.go @@ -452,5 +452,5 @@ func (api API) DeleteBucketHandler(w http.ResponseWriter, req *http.Request) { } return } - writeSuccessResponse(w) + writeSuccessNoContent(w) } diff --git a/object-handlers.go b/object-handlers.go index 081ae9e2c..92dd1d29d 100644 --- a/object-handlers.go +++ b/object-handlers.go @@ -376,8 +376,7 @@ func (api API) AbortMultipartUploadHandler(w http.ResponseWriter, req *http.Requ } return } - setCommonHeaders(w, 0) - w.WriteHeader(http.StatusNoContent) + writeSuccessNoContent(w) } // ListObjectPartsHandler - List object parts @@ -531,4 +530,5 @@ func (api API) DeleteObjectHandler(w http.ResponseWriter, req *http.Request) { writeErrorResponse(w, req, InternalError, req.URL.Path) } } + writeSuccessNoContent(w) } diff --git a/server_fs_test.go b/server_fs_test.go index 369112d34..2e935f1b3 100644 --- a/server_fs_test.go +++ b/server_fs_test.go @@ -275,7 +275,7 @@ func (s *MyAPIFSCacheSuite) TestDeleteBucket(c *C) { client = http.Client{} response, err = client.Do(request) c.Assert(err, IsNil) - c.Assert(response.StatusCode, Equals, http.StatusOK) + c.Assert(response.StatusCode, Equals, http.StatusNoContent) } func (s *MyAPIFSCacheSuite) TestDeleteObject(c *C) { @@ -300,7 +300,7 @@ func (s *MyAPIFSCacheSuite) TestDeleteObject(c *C) { client = http.Client{} response, err = client.Do(request) c.Assert(err, IsNil) - c.Assert(response.StatusCode, Equals, http.StatusOK) + c.Assert(response.StatusCode, Equals, http.StatusNoContent) } func (s *MyAPIFSCacheSuite) TestNonExistantBucket(c *C) {