)]}'
{"swift/common/middleware/s3api/s3request.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"159d394a60c740bc9a6c7acc475cb25a5c97fe94","unresolved":true,"context_lines":[{"line_number":186,"context_line":"    wsgi.input wrapper to check the X-Amz-Checksum-* of the input as it\u0027s read"},{"line_number":187,"context_line":"    \"\"\""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def __init__(self, reader, content_length,"},{"line_number":190,"context_line":"                 checksum_header, expected_checksum):"},{"line_number":191,"context_line":"        super().__init__(reader)"},{"line_number":192,"context_line":"        self._expected_length \u003d content_length"}],"source_content_type":"text/x-python","patch_set":1,"id":"19ef1c82_542afbe1","line":189,"range":{"start_line":189,"start_character":23,"end_line":189,"end_character":29},"updated":"2025-02-21 18:50:43.000000000","message":"I should rename this to `wsgi_input`, too.","commit_id":"0a1ca4b6260ba23b3f0462f1c2037c464aeb57f1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"159d394a60c740bc9a6c7acc475cb25a5c97fe94","unresolved":true,"context_lines":[{"line_number":230,"context_line":"                self.expected_checksum \u003d self.wsgi_input.trailers.get("},{"line_number":231,"context_line":"                    self.checksum_info.client_header)"},{"line_number":232,"context_line":"                self._expected \u003d self.expect(self.expected_checksum)"},{"line_number":233,"context_line":"            error \u003d self._hasher.digest() !\u003d self._expected"},{"line_number":234,"context_line":"        else:"},{"line_number":235,"context_line":"            error \u003d True"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"458749e1_69b8bae3","line":233,"range":{"start_line":233,"start_character":20,"end_line":233,"end_character":41},"updated":"2025-02-21 18:50:43.000000000","message":"Maybe we should just `base64.b64encode` here, and axe `self._expected`...","commit_id":"0a1ca4b6260ba23b3f0462f1c2037c464aeb57f1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"159d394a60c740bc9a6c7acc475cb25a5c97fe94","unresolved":true,"context_lines":[{"line_number":1394,"context_line":""},{"line_number":1395,"context_line":"    def _install_checksumming_input_wrapper(self):"},{"line_number":1396,"context_line":"        if not self.method \u003d\u003d \u0027PUT\u0027:"},{"line_number":1397,"context_line":"            return"},{"line_number":1398,"context_line":""},{"line_number":1399,"context_line":"        checksum_headers \u003d {"},{"line_number":1400,"context_line":"            h.lower(): v"}],"source_content_type":"text/x-python","patch_set":1,"id":"94eaa6b5_5f72ccef","line":1397,"updated":"2025-02-21 18:50:43.000000000","message":"OK, guard return here...","commit_id":"0a1ca4b6260ba23b3f0462f1c2037c464aeb57f1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"159d394a60c740bc9a6c7acc475cb25a5c97fe94","unresolved":true,"context_lines":[{"line_number":1411,"context_line":"                    \u0027x-amz-sdk-checksum-algorithm specified, but no \u0027"},{"line_number":1412,"context_line":"                    \u0027corresponding x-amz-checksum-* or x-amz-trailer \u0027"},{"line_number":1413,"context_line":"                    \u0027headers were found.\u0027)"},{"line_number":1414,"context_line":"            return"},{"line_number":1415,"context_line":"        if len(checksum_headers) \u003e 1:"},{"line_number":1416,"context_line":"            # Ensure we\u0027ve sent 100 Continue"},{"line_number":1417,"context_line":"            self.environ[\u0027wsgi.input\u0027].read(1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ede3b120_ca5484de","line":1414,"updated":"2025-02-21 18:50:43.000000000","message":"... bail here ...","commit_id":"0a1ca4b6260ba23b3f0462f1c2037c464aeb57f1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"159d394a60c740bc9a6c7acc475cb25a5c97fe94","unresolved":true,"context_lines":[{"line_number":1412,"context_line":"                    \u0027corresponding x-amz-checksum-* or x-amz-trailer \u0027"},{"line_number":1413,"context_line":"                    \u0027headers were found.\u0027)"},{"line_number":1414,"context_line":"            return"},{"line_number":1415,"context_line":"        if len(checksum_headers) \u003e 1:"},{"line_number":1416,"context_line":"            # Ensure we\u0027ve sent 100 Continue"},{"line_number":1417,"context_line":"            self.environ[\u0027wsgi.input\u0027].read(1)"},{"line_number":1418,"context_line":"            if self.headers.get(\u0027x-amz-sdk-checksum-algorithm\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"c69f935d_9bba7fc8","line":1415,"updated":"2025-02-21 18:50:43.000000000","message":"...and drag this up from the bottom 👍","commit_id":"0a1ca4b6260ba23b3f0462f1c2037c464aeb57f1"}]}
