)]}'
{"test/unit/common/middleware/helpers.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"7294884c8ba246dcebb32141b2cf5b72a3cb2b4b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"FakeSwiftCall \u003d namedtuple(\u0027FakeSwiftCall\u0027, [\u0027method\u0027, \u0027path\u0027, \u0027headers\u0027])"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"class ResponseKey(object):"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def __init__(self, method, path):"},{"line_number":53,"context_line":"        self.method \u003d method"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_b3c9d4ab","line":50,"updated":"2020-01-06 18:04:04.000000000","message":"Alternatively, we could just have a normalize_query_string(path) function...","commit_id":"1f78775271a7da694cdd483979001c93a0fceb52"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"7294884c8ba246dcebb32141b2cf5b72a3cb2b4b","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                    \u0027GET\u0027, path)"},{"line_number":137,"context_line":"                body \u003d None"},{"line_number":138,"context_line":"                headers \u003d HeaderKeyDict(raw_headers)"},{"line_number":139,"context_line":"            elif method \u003d\u003d \u0027GET\u0027 and obj and path in self.uploaded:"},{"line_number":140,"context_line":"                resp_class \u003d swob.HTTPOk"},{"line_number":141,"context_line":"                headers, body \u003d self.uploaded[path]"},{"line_number":142,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_933938a3","line":139,"range":{"start_line":139,"start_character":45,"end_line":139,"end_character":66},"updated":"2020-01-06 18:04:04.000000000","message":"Should this get the normalize version, too?","commit_id":"1f78775271a7da694cdd483979001c93a0fceb52"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"6ff4150dca6e7ef597ce16d70e49b3454cea79ac","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        self._unclosed_req_keys[key] +\u003d 1"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def mark_closed(self, key):"},{"line_number":198,"context_line":"        self._unclosed_req_keys[key] -\u003d 1"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    @property"},{"line_number":201,"context_line":"    def unclosed_requests(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_047980c4","line":198,"updated":"2020-01-06 22:29:44.000000000","message":"shit, I guess this is kind of a drive-by now","commit_id":"61401907911d09fc1d2232118717b048e77a6649"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"679e876111d7adaeac06cc01718457ac552f5c4b","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        self._unclosed_req_keys[key] +\u003d 1"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def mark_closed(self, key):"},{"line_number":198,"context_line":"        self._unclosed_req_keys[key] -\u003d 1"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    @property"},{"line_number":201,"context_line":"    def unclosed_requests(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_1fdc696f","line":198,"in_reply_to":"3fa7e38b_047980c4","updated":"2020-01-06 23:00:30.000000000","message":"Seems like an improvement, though!","commit_id":"61401907911d09fc1d2232118717b048e77a6649"}]}
