)]}'
{"swift/common/middleware/copy.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"56181e70bb6b83b3f64e092a9a70d93907657b38","unresolved":false,"context_lines":[{"line_number":500,"context_line":""},{"line_number":501,"context_line":"        # Set data source, content length and etag for the PUT request"},{"line_number":502,"context_line":"        sink_req.environ[\u0027wsgi.input\u0027] \u003d FileLikeIter(source_resp.app_iter)"},{"line_number":503,"context_line":"        sink_req.content_length \u003d source_resp.content_length"},{"line_number":504,"context_line":"        if (source_resp.status_int \u003d\u003d HTTP_OK and"},{"line_number":505,"context_line":"                \u0027X-Static-Large-Object\u0027 not in source_resp.headers and"},{"line_number":506,"context_line":"                (\u0027X-Object-Manifest\u0027 not in source_resp.headers or"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_a9943f37","side":"PARENT","line":503,"updated":"2017-01-13 19:21:17.000000000","message":"Not knowing my way around here that well - I think here next to where we set the data is about the mostly obvious thing you could do in this diff.","commit_id":"b90f2d7a2332b59a21f3e97a1136036a0e097319"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f24b4c35bf170dcde492a7dddd2bb6811207a8cc","unresolved":false,"context_lines":[{"line_number":229,"context_line":"    def get_source_resp(self, req):"},{"line_number":230,"context_line":"        sub_req \u003d make_subrequest("},{"line_number":231,"context_line":"            req.environ, path\u003dreq.path_info, headers\u003dreq.headers,"},{"line_number":232,"context_line":"            swift_source\u003d\u0027SSC\u0027)"},{"line_number":233,"context_line":"        return sub_req.get_response(self.app)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    def send_put_req(self, req, additional_resp_headers, start_response):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_43949ae1","line":232,"updated":"2017-01-13 18:32:43.000000000","message":"Right, so this is where we do it on GET...","commit_id":"a768563bd8f099452d289a7ed617489bc5f13733"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f24b4c35bf170dcde492a7dddd2bb6811207a8cc","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        return sub_req.get_response(self.app)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    def send_put_req(self, req, additional_resp_headers, start_response):"},{"line_number":236,"context_line":"        app_resp \u003d self._app_call(req.environ)"},{"line_number":237,"context_line":"        self._adjust_put_response(req, additional_resp_headers)"},{"line_number":238,"context_line":"        start_response(self._response_status,"},{"line_number":239,"context_line":"                       self._response_headers,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_4382da95","line":236,"updated":"2017-01-13 18:32:43.000000000","message":"Would it be better to push it into req here, before the _app_call? *shrug*","commit_id":"a768563bd8f099452d289a7ed617489bc5f13733"}],"test/unit/common/middleware/test_copy.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"56181e70bb6b83b3f64e092a9a70d93907657b38","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        self.assertEqual(\u0027/v1/a/c/o\u0027, self.authorized[0].path)"},{"line_number":257,"context_line":"        self.assertEqual(\u0027PUT\u0027, self.authorized[1].method)"},{"line_number":258,"context_line":"        self.assertEqual(\u0027/v1/a/c/o2\u0027, self.authorized[1].path)"},{"line_number":259,"context_line":"        self.assertEqual(self.app.swift_sources[0], \u0027SSC\u0027)"},{"line_number":260,"context_line":"        self.assertEqual(self.app.swift_sources[1], \u0027SSC\u0027)"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    def test_static_large_object_manifest(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_29876fb6","line":259,"updated":"2017-01-13 19:21:17.000000000","message":"Y U NO put this two lines higher?\n\n    diff --git a/test/unit/common/middleware/test_copy.py b/test/unit/common/middleware/test_copy.py\n    index f6453fa..519d53f 100644\n    --- a/test/unit/common/middleware/test_copy.py\n    +++ b/test/unit/common/middleware/test_copy.py\n    @@ -254,9 +254,9 @@ class TestServerSideCopyMiddleware(unittest.TestCase):\n             self.assertEqual(len(self.authorized), 2)\n             self.assertEqual(\u0027GET\u0027, self.authorized[0].method)\n             self.assertEqual(\u0027/v1/a/c/o\u0027, self.authorized[0].path)\n    +        self.assertEqual(self.app.swift_sources[0], \u0027SSC\u0027)\n             self.assertEqual(\u0027PUT\u0027, self.authorized[1].method)\n             self.assertEqual(\u0027/v1/a/c/o2\u0027, self.authorized[1].path)\n    -        self.assertEqual(self.app.swift_sources[0], \u0027SSC\u0027)\n             self.assertEqual(self.app.swift_sources[1], \u0027SSC\u0027)\n     \n         def test_static_large_object_manifest(self):","commit_id":"a768563bd8f099452d289a7ed617489bc5f13733"}]}
