A regression in tests was introduced by commit 1216309, intended to fix issue #49. Willys' code actually seems to make sense, but I chose to undo it because - It appears to be extraneous to the issue #49 - It does not fix the tests or remove the now-unused constant Someone should re-fix it properly. But for now I prefer tests continue to pass.
Our test expected "Content-Range: bytes=0-N", but this is incorrect. The RFC-2616 14.16 clearly says: bytes-unit SP byte-range-resp-spec "/" ( instance-length | "*" ) This is different from Ranges where bytes=0-N is specified. The wonders of Web standards! If a version of swob sent the equal sign previously, it was wrong, but now corrected.
This fixes signature creation to use RAW_PATH_INFO. Swift3 could not create correct signature in case of using escaped character(e.g. %2F, %2D) in PATH_INFO, because env['PATH_INFO'] was decoded(unescaped) by eventlet.wsgi before a request arrived at swift3. It caused signature mismatch and authentication failure. This change enables swift3 to create signature from RAW_PATH_INFO and fixes that bug. Note: This patch works well only in later version than eventlet 0.9.17, because older version does not have RAW_PATH_INFO variable. When using older version, swift3 works in the same way as ever(use req.path of swob). Signed-off-by: Kota Tsuyuzaki <firstname.lastname@example.org>
This fix a bug for deleting multiple objects. This change enables swift3 to receive request body correctly in order to prevent that swift3 does not return response for multi object deletion request. Signed-off-by: Kota Tsuyuzaki <email@example.com>
This adds basic support for deleting multiple objects from a bucket using a single POST request. TODOs: - support for deleting the specific version of the object. - return NoSuchBucked error when the specified bucket does not exist. - return MissingRequestBodyError error when the request body is empty. - return MalformedXML error when the provided XML is not well-formed. Signed-off-by: MORITA Kazutaka <firstname.lastname@example.org>
…uest has X_AMZ_ACL header
swift (which prevents storing these keys on its own API) will store special characters in percent-encoded form, meaning that with the S3 API, when keys were listed, they appeared as percent-encoded, rather than the original name. This change uses unquote to resolve the percent-encodings to the original name when listing keys in the bucket. These test cases now pass: tests.functional.test_s3.test_bucket_create_special_key_names
This patch is a functional work in progress. It * introduces get_acls based on real acl values in swift * implements a 'private' set acl * adds err_responses for MissingContentLength, BadDigest * adds a POST handler for BucketController (that only returns 501, for now) the get_acl function in particular isn't pretty, so this is a work in progress. Committing as it is passing 13 more testcases than previous attempts.