)]}'
{"swift/proxy/controllers/container.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"d631951005b703e4cb14328370f83b3d4e94d27a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                self.container_info(self.account_name, self.container_name,"},{"line_number":126,"context_line":"                                    req)"},{"line_number":127,"context_line":"            if container_info.get(\u0027status\u0027) \u003c 200 or \\"},{"line_number":128,"context_line":"                    container_info.get(\u0027status\u0027) \u003e 299:"},{"line_number":129,"context_line":"                resp \u003d HTTPForbidden(request\u003dreq)"},{"line_number":130,"context_line":"                resp.body \u003d \u0027Reached container limit of %s\u0027 % \\"},{"line_number":131,"context_line":"                    self.app.max_containers_per_account"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2F5FA%3D","line":128,"updated":"2014-04-25 14:03:03.000000000","message":"Maybe you can change this a little bit to prevent side-effects from a failing container_info? This might improve the security. For example:\n\n if container_info.get(\u0027status\u0027) \u003e\u003d 200 and \\\n         container_info.get(\u0027status\u0027) \u003c 300:\n     break\n\n resp \u003d HTTPForbidden(request\u003dreq)\n resp.body \u003d \u0027Reached container limit of %s\u0027 % \\\n     self.app.max_containers_per_account\n return resp\n\nThus if container_info fails for whatever reason the request is still rejected.","commit_id":"3fd9341be1e331c7182afbcc6581c5d222062ab0"},{"author":{"_account_id":9205,"name":"Gil Vernik","email":"gilv@il.ibm.com","username":"gilv"},"change_message_id":"d1c590dbeaef63a88f3002786f865b1235e3fb62","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                self.container_info(self.account_name, self.container_name,"},{"line_number":126,"context_line":"                                    req)"},{"line_number":127,"context_line":"            if container_info.get(\u0027status\u0027) \u003c 200 or \\"},{"line_number":128,"context_line":"                    container_info.get(\u0027status\u0027) \u003e 299:"},{"line_number":129,"context_line":"                resp \u003d HTTPForbidden(request\u003dreq)"},{"line_number":130,"context_line":"                resp.body \u003d \u0027Reached container limit of %s\u0027 % \\"},{"line_number":131,"context_line":"                    self.app.max_containers_per_account"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FzD0%3D","line":128,"in_reply_to":"AAAAXX%2F%2F5FA%3D","updated":"2014-04-27 04:38:01.000000000","message":"I am not familiar with cases where container_info fails, but I can gladly change this if you think there is better way to write this code.\n\n\u0027break\u0027 will not work here, since there is no loop, only if\u0027s.\nWhat is your suggestion? To write this ?\n\nif not (container_info.get(\u0027status\u0027) \u003e\u003d 200 and \\\n   container_info.get(\u0027status\u0027) \u003c 300 ):\n\n  resp \u003d HTTPForbidden(request\u003dreq)\n  resp.body \u003d \u0027Reached container limit of %s\u0027 % \\\n  self.app.max_containers_per_account\n  return resp","commit_id":"3fd9341be1e331c7182afbcc6581c5d222062ab0"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"f24f09dba2ce7ee05043215ba9a823f5c31417af","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                self.container_info(self.account_name, self.container_name,"},{"line_number":126,"context_line":"                                    req)"},{"line_number":127,"context_line":"            if container_info.get(\u0027status\u0027) \u003c 200 or \\"},{"line_number":128,"context_line":"                    container_info.get(\u0027status\u0027) \u003e 299:"},{"line_number":129,"context_line":"                resp \u003d HTTPForbidden(request\u003dreq)"},{"line_number":130,"context_line":"                resp.body \u003d \u0027Reached container limit of %s\u0027 % \\"},{"line_number":131,"context_line":"                    self.app.max_containers_per_account"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_123b23ec","line":128,"in_reply_to":"AAAAXX%2F%2FzD0%3D","updated":"2014-07-09 20:01:27.000000000","message":"container_info can fail if the container DBs in question are affected by a rebalance or disk failure or network troubles or whatever.\n\nAlso, you may want to use swift.common.http.is_success() to see if the status code indicates success. It does exactly what you\u0027re doing here, but it\u0027s nicer to read IMHO.","commit_id":"3fd9341be1e331c7182afbcc6581c5d222062ab0"}],"test/unit/proxy/test_server.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"07129eadc47cecb68a7baa2b7cb1a4651e679972","unresolved":false,"context_lines":[{"line_number":5182,"context_line":"            self.app.max_containers_per_account \u003d 12345"},{"line_number":5183,"context_line":"            controller \u003d proxy_server.ContainerController(self.app, \u0027account\u0027,"},{"line_number":5184,"context_line":"                                                          \u0027container\u0027)"},{"line_number":5185,"context_line":"            self.assert_status_map(controller.PUT, (200, 201, 201, 201), 201,"},{"line_number":5186,"context_line":"                                   missing_container\u003dTrue)"},{"line_number":5187,"context_line":""},{"line_number":5188,"context_line":"            controller \u003d proxy_server.ContainerController(self.app, \u0027account\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_96e70012","line":5185,"updated":"2014-07-10 16:51:36.000000000","message":"(200, 200, 201, 201, 201)\n\nHEAD a, HEAD a/c, PUT a/c, PUT a/c, PUT a/c,","commit_id":"dbb027d0e016c3cb69505a69e38e55801fa0ad69"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"07129eadc47cecb68a7baa2b7cb1a4651e679972","unresolved":false,"context_lines":[{"line_number":5188,"context_line":"            controller \u003d proxy_server.ContainerController(self.app, \u0027account\u0027,"},{"line_number":5189,"context_line":"                                                          \u0027container_new\u0027)"},{"line_number":5190,"context_line":""},{"line_number":5191,"context_line":"            self.assert_status_map(controller.PUT, (404, 404, 201), 403,"},{"line_number":5192,"context_line":"                                   missing_container\u003dTrue)"},{"line_number":5193,"context_line":""},{"line_number":5194,"context_line":"            self.app.max_containers_per_account \u003d 12345"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_56ac88a0","line":5191,"updated":"2014-07-10 16:51:36.000000000","message":"(200, 404, 404, 404)\n\nHEAD a, HEAD a/c, HEAD a/c, HEAD a/c,","commit_id":"dbb027d0e016c3cb69505a69e38e55801fa0ad69"}]}
