)]}'
{"swift/common/middleware/account_quotas.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"9803ed183247dbc537117ecb000c8c47fde93512","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                split_path(\"/\" + copy_from, 2, 2, True)"},{"line_number":123,"context_line":"            except ValueError:"},{"line_number":124,"context_line":"                # We let the proxy server ends up with 412 Precondition Failed"},{"line_number":125,"context_line":"                return self.app"},{"line_number":126,"context_line":"            path \u003d \u0027/\u0027 + ver + \u0027/\u0027 + account + \u0027/\u0027 + copy_from"},{"line_number":127,"context_line":"            object_info \u003d get_object_info(request.environ, self.app, path)"},{"line_number":128,"context_line":"            if not object_info or not object_info[\u0027length\u0027]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BUM8%3D","line":125,"updated":"2013-11-27 14:13:25.000000000","message":"Same as for container_quotas:\n\nIt\u0027s true that the error will be catched later on. However, if the middleware already stumbles upon the bad request it might be a better idea to return a HTTPBadRequest right now? This makes the test also better readable because we don\u0027t expect a \"200 OK\" then.","commit_id":"a3ca229b7c57b23308846bff04211b611dec24aa"}],"test/unit/common/middleware/test_account_quotas.py":[{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"4db6ace4ab06cad3e61968e08216c05e7a85e6d2","unresolved":false,"context_lines":[{"line_number":245,"context_line":"        req \u003d Request.blank(\u0027/v1/a/c/o\u0027,"},{"line_number":246,"context_line":"                            environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027PUT\u0027,"},{"line_number":247,"context_line":"                            \u0027swift.cache\u0027: cache},"},{"line_number":248,"context_line":"                            headers\u003d{\u0027x-copy-from\u0027: \u0027bad_path\u0027})"},{"line_number":249,"context_line":"        res \u003d req.get_response(app)"},{"line_number":250,"context_line":"        # Response code will be 200 OK we let the proxy"},{"line_number":251,"context_line":"        # report the invalid format"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2Bco8%3D","line":248,"updated":"2013-11-25 23:12:48.000000000","message":"Since this has no body, won\u0027t this create an empty object, though?\n\nWhat about having the proxy server catch this before passing it along, reducing the number of resources this request can tie up?","commit_id":"778473ded6c31d575e1857a5be7bf9adcc460dc2"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"4fa4164a711088ca67371a68665d1c34e9a57769","unresolved":false,"context_lines":[{"line_number":245,"context_line":"        req \u003d Request.blank(\u0027/v1/a/c/o\u0027,"},{"line_number":246,"context_line":"                            environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027PUT\u0027,"},{"line_number":247,"context_line":"                            \u0027swift.cache\u0027: cache},"},{"line_number":248,"context_line":"                            headers\u003d{\u0027x-copy-from\u0027: \u0027bad_path\u0027})"},{"line_number":249,"context_line":"        res \u003d req.get_response(app)"},{"line_number":250,"context_line":"        # Response code will be 200 OK we let the proxy"},{"line_number":251,"context_line":"        # report the invalid format"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2Bcl4%3D","line":248,"in_reply_to":"AAAATn%2F%2Bco8%3D","updated":"2013-11-25 23:25:43.000000000","message":"The real proxy server will return a 412 Precondition Failed response; see https://github.com/openstack/swift/blob/master/swift/proxy/controllers/obj.py#L999\n\nThe 200 OK here seems like it\u0027s just an artifact of FakeApp.","commit_id":"778473ded6c31d575e1857a5be7bf9adcc460dc2"}]}
