)]}'
{"swift/proxy/controllers/base.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"6e679f680c18f9be700dae706ee50b68bcf532c1","unresolved":true,"context_lines":[{"line_number":2051,"context_line":"                    continue"},{"line_number":2052,"context_line":"                resp \u003d status_map[status](request\u003dreq)"},{"line_number":2053,"context_line":"                resp.status \u003d \u0027%s %s\u0027 % (status, reasons[status_index])"},{"line_number":2054,"context_line":"                resp.body \u003d bodies[status_index]"},{"line_number":2055,"context_line":"                if headers:"},{"line_number":2056,"context_line":"                    update_headers(resp, headers[status_index])"},{"line_number":2057,"context_line":"                if etag:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3e21ac3c_ede71143","side":"PARENT","line":2054,"updated":"2021-09-27 16:00:15.000000000","message":"how does this work!?\n\nhttps://github.com/openstack/swift/blob/master/swift/common/swob.py#L385","commit_id":"029e57679c639edda87816482685b8f48de67dd9"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"ec8b59ff50b1b230e4d1b134314730b8d1ed99d5","unresolved":true,"context_lines":[{"line_number":2051,"context_line":"                    continue"},{"line_number":2052,"context_line":"                resp \u003d status_map[status](request\u003dreq)"},{"line_number":2053,"context_line":"                resp.status \u003d \u0027%s %s\u0027 % (status, reasons[status_index])"},{"line_number":2054,"context_line":"                resp.body \u003d bodies[status_index]"},{"line_number":2055,"context_line":"                if headers:"},{"line_number":2056,"context_line":"                    update_headers(resp, headers[status_index])"},{"line_number":2057,"context_line":"                if etag:"}],"source_content_type":"text/x-python","patch_set":1,"id":"583164f1_0d7aff29","side":"PARENT","line":2054,"in_reply_to":"3e21ac3c_ede71143","updated":"2021-09-27 20:31:06.000000000","message":"This makes sense enough, even if it\u0027s a bit round-about. Seems like it\u0027d be way easier to reason about if we were passing around something like the list of transformed tuples from up above -- maybe even give it a nice namedtuple.\n\nIt took me a bit, but I think I get how update_headers is supposed to eat an empty string, too. It goes\n\n    for name, value in headers:\n        ...\n\nso I guess the for loop immediately terminates and we never even try to do the tuple-unpacking... This is the sort of thing that makes me want to go around adding type annotations to everything.","commit_id":"029e57679c639edda87816482685b8f48de67dd9"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"6e679f680c18f9be700dae706ee50b68bcf532c1","unresolved":true,"context_lines":[{"line_number":1410,"context_line":"                if ps_timestamp \u003e\u003d self.latest_404_timestamp:"},{"line_number":1411,"context_line":"                    self.statuses.append(possible_source.status)"},{"line_number":1412,"context_line":"                    self.reasons.append(possible_source.reason)"},{"line_number":1413,"context_line":"                    self.bodies.append(None)"},{"line_number":1414,"context_line":"                    self.source_headers.append(possible_source.getheaders())"},{"line_number":1415,"context_line":"                    self.sources.append((possible_source, node))"},{"line_number":1416,"context_line":"                    if not self.newest:  # one good source is enough"}],"source_content_type":"text/x-python","patch_set":1,"id":"969643e0_51815b83","line":1413,"updated":"2021-09-27 16:00:15.000000000","message":"I mean does the type *really* matter that much?","commit_id":"d2129e4998539ff1def90f14f0f7d7b0f7ca7199"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"ec8b59ff50b1b230e4d1b134314730b8d1ed99d5","unresolved":true,"context_lines":[{"line_number":1410,"context_line":"                if ps_timestamp \u003e\u003d self.latest_404_timestamp:"},{"line_number":1411,"context_line":"                    self.statuses.append(possible_source.status)"},{"line_number":1412,"context_line":"                    self.reasons.append(possible_source.reason)"},{"line_number":1413,"context_line":"                    self.bodies.append(None)"},{"line_number":1414,"context_line":"                    self.source_headers.append(possible_source.getheaders())"},{"line_number":1415,"context_line":"                    self.sources.append((possible_source, node))"},{"line_number":1416,"context_line":"                    if not self.newest:  # one good source is enough"}],"source_content_type":"text/x-python","patch_set":1,"id":"0db7acd0_451577b7","line":1413,"in_reply_to":"969643e0_51815b83","updated":"2021-09-27 20:31:06.000000000","message":"Yup; no six.text_type: https://github.com/openstack/swift/blob/2.28.0/swift/common/swob.py#L384-L391\n\nThe None is tolerated; maybe I should update that TypeError... FWIW, though, I intentionally made that setter brittle to help shake out places that weren\u0027t adhering to protocol -- I don\u0027t think I\u0027d want to change it to paper over it by encoding as UTF-8 until we\u0027ve got all the middleware we run in prod ported (and maybe even wait until we\u0027ve got prod proxies switched over).","commit_id":"d2129e4998539ff1def90f14f0f7d7b0f7ca7199"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"6e679f680c18f9be700dae706ee50b68bcf532c1","unresolved":true,"context_lines":[{"line_number":2016,"context_line":"                    statuses, reasons, headers, bodies)):"},{"line_number":2017,"context_line":"                if status in overrides:"},{"line_number":2018,"context_line":"                    faked_up_status_indices.add(i)"},{"line_number":2019,"context_line":"                    transformed.append((overrides[status], \u0027\u0027, \u0027\u0027, \u0027\u0027))"},{"line_number":2020,"context_line":"                else:"},{"line_number":2021,"context_line":"                    transformed.append((status, reason, hdrs, body))"},{"line_number":2022,"context_line":"            statuses, reasons, headers, bodies \u003d zip(*transformed)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8e2ecc58_32dbf712","line":2019,"updated":"2021-09-27 16:00:15.000000000","message":"it seems like it\u0027s all whatever in here","commit_id":"d2129e4998539ff1def90f14f0f7d7b0f7ca7199"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"ec8b59ff50b1b230e4d1b134314730b8d1ed99d5","unresolved":true,"context_lines":[{"line_number":2016,"context_line":"                    statuses, reasons, headers, bodies)):"},{"line_number":2017,"context_line":"                if status in overrides:"},{"line_number":2018,"context_line":"                    faked_up_status_indices.add(i)"},{"line_number":2019,"context_line":"                    transformed.append((overrides[status], \u0027\u0027, \u0027\u0027, \u0027\u0027))"},{"line_number":2020,"context_line":"                else:"},{"line_number":2021,"context_line":"                    transformed.append((status, reason, hdrs, body))"},{"line_number":2022,"context_line":"            statuses, reasons, headers, bodies \u003d zip(*transformed)"}],"source_content_type":"text/x-python","patch_set":1,"id":"58159815_7d475fb5","line":2019,"in_reply_to":"8e2ecc58_32dbf712","updated":"2021-09-27 20:31:06.000000000","message":"Good catch! I missed that one. That headers value looks suspicious as hell...","commit_id":"d2129e4998539ff1def90f14f0f7d7b0f7ca7199"}]}
