merged lp:~notmyname/swift/copy_logging_bug, ensure bytes_transferred is zero on x-copy-from put, added test
This commit is contained in:
commit
88eee37a59
@ -775,6 +775,8 @@ class ObjectController(Controller):
|
|||||||
for k, v in req.headers.items():
|
for k, v in req.headers.items():
|
||||||
if k.lower().startswith('x-object-meta-'):
|
if k.lower().startswith('x-object-meta-'):
|
||||||
resp.headers[k] = v
|
resp.headers[k] = v
|
||||||
|
# reset the bytes, since the user didn't actually send anything
|
||||||
|
req.bytes_transferred = 0
|
||||||
resp.last_modified = float(req.headers['X-Timestamp'])
|
resp.last_modified = float(req.headers['X-Timestamp'])
|
||||||
return resp
|
return resp
|
||||||
|
|
||||||
|
@ -1782,6 +1782,21 @@ class TestObjectController(unittest.TestCase):
|
|||||||
self.assert_(hasattr(req, 'bytes_transferred'))
|
self.assert_(hasattr(req, 'bytes_transferred'))
|
||||||
self.assertEquals(req.bytes_transferred, 10)
|
self.assertEquals(req.bytes_transferred, 10)
|
||||||
|
|
||||||
|
def test_copy_zero_bytes_transferred_attr(self):
|
||||||
|
with save_globals():
|
||||||
|
proxy_server.http_connect = \
|
||||||
|
fake_http_connect(200, 200, 200, 200, 200, 201, 201, 201,
|
||||||
|
body='1234567890')
|
||||||
|
controller = proxy_server.ObjectController(self.app, 'account',
|
||||||
|
'container', 'object')
|
||||||
|
req = Request.blank('/a/c/o', environ={'REQUEST_METHOD': 'PUT'},
|
||||||
|
headers={'X-Copy-From': 'c/o2',
|
||||||
|
'Content-Length': '0'})
|
||||||
|
self.app.update_request(req)
|
||||||
|
res = controller.PUT(req)
|
||||||
|
self.assert_(hasattr(req, 'bytes_transferred'))
|
||||||
|
self.assertEquals(req.bytes_transferred, 0)
|
||||||
|
|
||||||
def test_response_bytes_transferred_attr(self):
|
def test_response_bytes_transferred_attr(self):
|
||||||
with save_globals():
|
with save_globals():
|
||||||
proxy_server.http_connect = \
|
proxy_server.http_connect = \
|
||||||
|
Loading…
Reference in New Issue
Block a user