)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"96d2c18b319cb6dbf75b35f00bc0f2e2759f4de5","unresolved":true,"context_lines":[{"line_number":7,"context_line":"s3api: Make UNSIGNED-PAYLOAD requests work again"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I746d8e641c884ccd7838082ff07f958ee101de18"},{"line_number":10,"context_line":"Related-Change: I3d6e2e4542a5ed03a6d31ec0ef4837d1de30a045"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"de0a9b71_00852e95","line":10,"updated":"2021-01-08 22:56:45.000000000","message":"Closes-Bug: #1910827","commit_id":"873d0ae2185c90db11344161c7768895fa6dd2be"}],"swift/common/middleware/s3api/s3request.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"4c27f7a7a04c76ee5d516e7498ef0953f2d7e9ed","unresolved":true,"context_lines":[{"line_number":451,"context_line":"            hashed_payload \u003d self.headers[\u0027X-Amz-Content-SHA256\u0027]"},{"line_number":452,"context_line":"            if hashed_payload !\u003d \u0027UNSIGNED-PAYLOAD\u0027:"},{"line_number":453,"context_line":"                if self.content_length \u003d\u003d 0:"},{"line_number":454,"context_line":"                    if hashed_payload.lower() !\u003d sha256().hexdigest():"},{"line_number":455,"context_line":"                        raise BadDigest("},{"line_number":456,"context_line":"                            \u0027The X-Amz-Content-SHA56 you specified did not \u0027"},{"line_number":457,"context_line":"                            \u0027match what we received.\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"8dce82e0_f000d814","line":454,"updated":"2021-01-11 11:48:44.000000000","message":"hmmm, I couldn\u0027t find anything in the py docs that states the hexdigest is always lowercase","commit_id":"09a2f93933d42342be3ee33096c4dea28b2a29f7"}],"test/unit/common/middleware/s3api/test_obj.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"4c27f7a7a04c76ee5d516e7498ef0953f2d7e9ed","unresolved":true,"context_lines":[{"line_number":725,"context_line":"        # No way to determine ETag to send"},{"line_number":726,"context_line":"        self.assertNotIn(\u0027etag\u0027, headers)"},{"line_number":727,"context_line":"        self.assertIn(b\u0027UNSIGNED-PAYLOAD\u0027, SigV4Request("},{"line_number":728,"context_line":"            req.environ, self.s3api.conf)._canonical_request())"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":"    def test_object_PUT_headers(self):"},{"line_number":731,"context_line":"        content_md5 \u003d binascii.b2a_base64(binascii.a2b_hex(self.etag)).strip()"}],"source_content_type":"text/x-python","patch_set":3,"id":"4bd12230_9b5036ad","line":728,"updated":"2021-01-11 11:48:44.000000000","message":"maybe we could test S3Request directly, see https://review.opendev.org/c/openstack/swift/+/770109","commit_id":"09a2f93933d42342be3ee33096c4dea28b2a29f7"}]}
