Doing a PUT on a valid conditional request, If-None-Match, returns unclear statement
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Won't Fix
|
Undecided
|
Bathri Ajay Raj |
Bug Description
The statement for a PUT on a correct If-None-Match etag returns unclear documentation where the asterik, *, does not mean anything to clients. Would have been more clear if it says that the etag as the value in the header is correct or return the PUT as a 304 - Not Modified to be consistent with other HTTP methods (GET/HEAD).
Open to some more feedback from Swift Cores.
$ curl -X HEAD -i -H "X-Auth-Token: $token" http://
HTTP/1.1 304 Not Modified
Content-Length: 0
Accept-Ranges: bytes
Last-Modified: Tue, 29 Mar 2016 14:31:57 GMT
Etag: d41d8cd98f00b20
X-Timestamp: 1459261916.50985
Content-Type: application/zip
X-Trans-Id: tx4e8c4ac13db54
Date: Tue, 29 Mar 2016 14:32:25 GMT
$ curl -X PUT http://
HTTP/1.1 400 Bad Request
Content-Length: 29
Content-Type: text/plain
X-Trans-Id: tx428051995b464
Date: Tue, 29 Mar 2016 14:33:14 GMT
If-None-Match only supports *
description: | updated |
Changed in swift: | |
assignee: | nobody → Bathri Ajay Raj (bathri-s) |
Because of the eventual consistency nature of Swift, we don't have current plans to change support for 'If-none-Match' with etags, so the current response of 400 is correct, I'm not sure how we can make it more clear.