swift3 middleware missing content-type fix
This commit is contained in:
@@ -132,7 +132,7 @@ def canonical_string(req):
|
|||||||
Canonicalize a request to a token that can be signed.
|
Canonicalize a request to a token that can be signed.
|
||||||
"""
|
"""
|
||||||
buf = "%s\n%s\n%s\n" % (req.method, req.headers.get('Content-MD5', ''),
|
buf = "%s\n%s\n%s\n" % (req.method, req.headers.get('Content-MD5', ''),
|
||||||
req.headers.get('Content-Type', ''))
|
req.headers.get('Content-Type') or '')
|
||||||
if 'Date' in req.headers:
|
if 'Date' in req.headers:
|
||||||
buf += "%s\n" % req.headers['Date']
|
buf += "%s\n" % req.headers['Date']
|
||||||
for amz_header in sorted((key.lower() for key in req.headers
|
for amz_header in sorted((key.lower() for key in req.headers
|
||||||
|
|||||||
@@ -580,5 +580,19 @@ class TestSwift3(unittest.TestCase):
|
|||||||
'X-Amz-Z': 'whatever', 'X-Amz-B': 'lalala',
|
'X-Amz-Z': 'whatever', 'X-Amz-B': 'lalala',
|
||||||
'X-Amz-Y': 'lalalalalalala'})
|
'X-Amz-Y': 'lalalalalalala'})
|
||||||
|
|
||||||
|
verify('7506d97002c7d2de922cc0ec34af8846', '/bucket/object',
|
||||||
|
{'Content-Type': None, 'X-Amz-Something': 'test'})
|
||||||
|
|
||||||
|
req1 = Request.blank('/', headers=
|
||||||
|
{'Content-Type': None, 'X-Amz-Something': 'test'})
|
||||||
|
req2 = Request.blank('/', headers=
|
||||||
|
{'Content-Type': '', 'X-Amz-Something': 'test'})
|
||||||
|
req3 = Request.blank('/', headers={'X-Amz-Something': 'test'})
|
||||||
|
|
||||||
|
self.assertEquals(swift3.canonical_string(req1),
|
||||||
|
swift3.canonical_string(req2))
|
||||||
|
self.assertEquals(swift3.canonical_string(req2),
|
||||||
|
swift3.canonical_string(req3))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user