Fix issues with unicode and slashes for S3. Closes #521.
This commit is contained in:
parent
15dc619fb2
commit
0a10b2f738
@ -15,5 +15,5 @@ url_paths = {
|
|||||||
'{0}/(?P<key_or_bucket_name>[^/]+)/?$': S3ResponseInstance.ambiguous_response,
|
'{0}/(?P<key_or_bucket_name>[^/]+)/?$': S3ResponseInstance.ambiguous_response,
|
||||||
|
|
||||||
# path-based bucket + key
|
# path-based bucket + key
|
||||||
'{0}/(?P<bucket_name_path>[a-zA-Z0-9\-_./]+)/(?P<key_name>.+)': S3ResponseInstance.key_response,
|
'{0}/(?P<bucket_name_path>[^/]+)/(?P<key_name>.+)': S3ResponseInstance.key_response,
|
||||||
}
|
}
|
||||||
|
@ -573,6 +573,18 @@ def test_key_with_special_characters():
|
|||||||
keys[0].name.should.equal("test_list_keys_2/x?y")
|
keys[0].name.should.equal("test_list_keys_2/x?y")
|
||||||
|
|
||||||
|
|
||||||
|
@mock_s3
|
||||||
|
def test_unicode_key_with_slash():
|
||||||
|
conn = boto.connect_s3('the_key', 'the_secret')
|
||||||
|
bucket = conn.create_bucket("foobar")
|
||||||
|
key = Key(bucket)
|
||||||
|
key.key = "/the-key-unîcode/test"
|
||||||
|
key.set_contents_from_string("value")
|
||||||
|
|
||||||
|
key = bucket.get_key("/the-key-unîcode/test")
|
||||||
|
key.get_contents_as_string().should.equal(b'value')
|
||||||
|
|
||||||
|
|
||||||
@mock_s3
|
@mock_s3
|
||||||
def test_bucket_key_listing_order():
|
def test_bucket_key_listing_order():
|
||||||
conn = boto.connect_s3()
|
conn = boto.connect_s3()
|
||||||
|
Loading…
Reference in New Issue
Block a user