)]}'
{"test/unit/common/middleware/test_swift4.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"e040c81d41a1ce0a37470d7a14dc662f83257370","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def __call__(self, env, start_response):"},{"line_number":28,"context_line":"        self.calls +\u003d 1"},{"line_number":29,"context_line":"        start_response(\"418 I\u0027m a teapot\", [])"},{"line_number":30,"context_line":"        return [\u0027\u0027]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_b51a1ec4","line":29,"updated":"2016-04-01 09:24:25.000000000","message":"nit: s/teapot/chocolate teapot/","commit_id":"2ff45f86db9acb29b7dc80809253c8bb845de002"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"e040c81d41a1ce0a37470d7a14dc662f83257370","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # The whole request body was consumed"},{"line_number":57,"context_line":"        self.assertEqual(wsgi_input.tell(), len(wsgi_input.getvalue()))"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def test_POST(self):"},{"line_number":60,"context_line":"        wsgi_input \u003d StringIO(\"data data data\")"},{"line_number":61,"context_line":"        req \u003d Request.blank(\u0027/some/where\u0027, headers\u003d{\u0027Host\u0027: \u0027s4-host\u0027},"},{"line_number":62,"context_line":"                            environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027PUT\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_d54872ce","line":59,"updated":"2016-04-01 09:24:25.000000000","message":"I think this method should really be named test_PUT_again since that is what it does. Let\u0027s not confuse future us.","commit_id":"2ff45f86db9acb29b7dc80809253c8bb845de002"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"b94a73c74b2eacb0ea76188134f6af17af248730","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                            environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027})"},{"line_number":94,"context_line":"        resp \u003d req.get_response(self.s4)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        self.assertEqual(resp.status_int, 405)"},{"line_number":97,"context_line":"        allowed_methods \u003d set([m.strip() for m in"},{"line_number":98,"context_line":"                               resp.headers.get(\u0027Allow\u0027, \u0027\u0027).split(\u0027,\u0027)])"},{"line_number":99,"context_line":"        self.assertEqual(set([\u0027PUT\u0027, \u0027POST\u0027, \u0027OPTIONS\u0027]), allowed_methods)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_ae701673","line":96,"updated":"2016-04-01 07:11:28.000000000","message":"I think this could be improved. How about returning a 418, not a 405?","commit_id":"2ff45f86db9acb29b7dc80809253c8bb845de002"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5bb62eac60591f6da718b25d7eaaff82c8b61f9a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                            environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027})"},{"line_number":94,"context_line":"        resp \u003d req.get_response(self.s4)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        self.assertEqual(resp.status_int, 405)"},{"line_number":97,"context_line":"        allowed_methods \u003d set([m.strip() for m in"},{"line_number":98,"context_line":"                               resp.headers.get(\u0027Allow\u0027, \u0027\u0027).split(\u0027,\u0027)])"},{"line_number":99,"context_line":"        self.assertEqual(set([\u0027PUT\u0027, \u0027POST\u0027, \u0027OPTIONS\u0027]), allowed_methods)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_380efae4","line":96,"in_reply_to":"ba0121b8_ae701673","updated":"2016-04-01 13:34:33.000000000","message":"A 4xx is not very user-friendly. I think a GET should return\n\n    HTTPMovedPermanently(location\u003d\u0027http://devnull-as-a-service.com/dev/null\u0027)","commit_id":"2ff45f86db9acb29b7dc80809253c8bb845de002"}]}
