)]}'
{"oslo_middleware/base.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"5017868c4a2437c136b9d8d12ef5f234fad676f0","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        response \u003d req.get_response(self.application)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        try:"},{"line_number":58,"context_line":"            return self.process_response(response\u003dresponse, request\u003dreq)"},{"line_number":59,"context_line":"        except TypeError:"},{"line_number":60,"context_line":"            return self.process_response(response\u003dresponse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_4ae8a7e2","line":58,"updated":"2015-06-22 22:33:11.000000000","message":"why\u0027s response\u003dresponse needed?","commit_id":"d107642b953b7bf62280a7b0b6bf48dfc41156a2"},{"author":{"_account_id":9717,"name":"Michael Krotscheck","email":"krotscheck@gmail.com","username":"krotscheck"},"change_message_id":"e928193c10655231394ead228fe69542cfce300d","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        response \u003d req.get_response(self.application)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        try:"},{"line_number":58,"context_line":"            return self.process_response(response\u003dresponse, request\u003dreq)"},{"line_number":59,"context_line":"        except TypeError:"},{"line_number":60,"context_line":"            return self.process_response(response\u003dresponse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_5996554d","line":58,"in_reply_to":"ba3cc151_4d73f715","updated":"2015-06-30 16:07:03.000000000","message":"I\u0027m not. Let me ping lifeless, he\u0027s the one who suggested this approach.","commit_id":"d107642b953b7bf62280a7b0b6bf48dfc41156a2"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"40624b977dc6999cc94245ca2228061d3f2f99ed","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        response \u003d req.get_response(self.application)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        try:"},{"line_number":58,"context_line":"            return self.process_response(response\u003dresponse, request\u003dreq)"},{"line_number":59,"context_line":"        except TypeError:"},{"line_number":60,"context_line":"            return self.process_response(response\u003dresponse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_c020219e","line":58,"in_reply_to":"ba3cc151_5996554d","updated":"2015-06-30 18:38:05.000000000","message":"You can\u0027t be sure of that. The worst case is that we dispatch twice on a non-idempotent method. Which all our servers are starting to do now /anyway/ to deal with SQL locks. \n\nThe alternative approach fails in the opposite direction where an implementation using *args won\u0027t be passed the new parameter (which will e.g. break decorators on functions).\n\nSeparately - adding response\u003d onto the fallback call below makes this an API break, because a prior subclass that used a different parameter name will move from working to non-working: calling convention is part of the API, and this changes it. I think its fine on line 58, above my comment, but not on line 60.","commit_id":"d107642b953b7bf62280a7b0b6bf48dfc41156a2"},{"author":{"_account_id":9717,"name":"Michael Krotscheck","email":"krotscheck@gmail.com","username":"krotscheck"},"change_message_id":"98b3ca0c2d6701e604f2c57dda39287b28b5f3b0","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        response \u003d req.get_response(self.application)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        try:"},{"line_number":58,"context_line":"            return self.process_response(response\u003dresponse, request\u003dreq)"},{"line_number":59,"context_line":"        except TypeError:"},{"line_number":60,"context_line":"            return self.process_response(response\u003dresponse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_b6d2955a","line":58,"in_reply_to":"fa32b979_4ae8a7e2","updated":"2015-06-24 20:37:47.000000000","message":"I like pedantry. It makes for more reliable code.","commit_id":"d107642b953b7bf62280a7b0b6bf48dfc41156a2"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"9b3fa2ded02bb503bd4608f6aac77322c9f49c50","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        response \u003d req.get_response(self.application)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        try:"},{"line_number":58,"context_line":"            return self.process_response(response\u003dresponse, request\u003dreq)"},{"line_number":59,"context_line":"        except TypeError:"},{"line_number":60,"context_line":"            return self.process_response(response\u003dresponse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_4d73f715","line":58,"in_reply_to":"fa32b979_b6d2955a","updated":"2015-06-30 15:13:43.000000000","message":"Are you sure that process_response() will never, by itself, raise TypeError in the middle of processing a request? I\u0027m not sure that\u0027s a safe assumption.","commit_id":"d107642b953b7bf62280a7b0b6bf48dfc41156a2"}]}
