)]}'
{"swift/common/middleware/s3api/s3request.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"11ecf2006c3bab30d354f07f63d60fc1d1030a0e","unresolved":true,"context_lines":[{"line_number":650,"context_line":"        self.conf \u003d conf or Config()"},{"line_number":651,"context_line":"        self.location \u003d self.conf.location"},{"line_number":652,"context_line":"        self._timestamp \u003d None"},{"line_number":653,"context_line":"        self.access_key, self.signature \u003d self._parse_auth_info()"},{"line_number":654,"context_line":"        self.bucket_in_host \u003d self._parse_host()"},{"line_number":655,"context_line":"        self.container_name, self.object_name \u003d self._parse_uri()"},{"line_number":656,"context_line":"        self._validate_headers()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3b38c0f9_22871e97","line":653,"updated":"2025-04-15 15:51:58.000000000","message":"I\u0027m starting to wonder if `_parse_auth_info` should hang off the sig checker...\n\n... maybe even have sig checker initialization be responsible for installing `req.environ[\u0027s3api.auth_details\u0027]`....","commit_id":"6a2ae81ab3459d64ea0489803bf06ebb001d552f"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"c9c80a3a9d7af9f189d0953f7df54cbd8e89601a","unresolved":true,"context_lines":[{"line_number":650,"context_line":"        self.conf \u003d conf or Config()"},{"line_number":651,"context_line":"        self.location \u003d self.conf.location"},{"line_number":652,"context_line":"        self._timestamp \u003d None"},{"line_number":653,"context_line":"        self.access_key, self.signature \u003d self._parse_auth_info()"},{"line_number":654,"context_line":"        self.bucket_in_host \u003d self._parse_host()"},{"line_number":655,"context_line":"        self.container_name, self.object_name \u003d self._parse_uri()"},{"line_number":656,"context_line":"        self._validate_headers()"}],"source_content_type":"text/x-python","patch_set":3,"id":"aa095a40_b873107d","line":653,"in_reply_to":"3b38c0f9_22871e97","updated":"2025-04-15 17:43:33.000000000","message":"@Tim Yes I think this shift towards composition could be pushed a lot further (IIRC you *have* previously pushed that way!)","commit_id":"6a2ae81ab3459d64ea0489803bf06ebb001d552f"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"11ecf2006c3bab30d354f07f63d60fc1d1030a0e","unresolved":true,"context_lines":[{"line_number":654,"context_line":"        self.bucket_in_host \u003d self._parse_host()"},{"line_number":655,"context_line":"        self.container_name, self.object_name \u003d self._parse_uri()"},{"line_number":656,"context_line":"        self._validate_headers()"},{"line_number":657,"context_line":"        if self.is_sigv4:"},{"line_number":658,"context_line":"            self.sig_checker \u003d SigCheckerV4(self)"},{"line_number":659,"context_line":"        else:"},{"line_number":660,"context_line":"            self.sig_checker \u003d SigCheckerV2(self)"}],"source_content_type":"text/x-python","patch_set":3,"id":"0f44fb93_1cfb4c63","line":657,"updated":"2025-04-15 15:51:58.000000000","message":"Don\u0027t want to just do `isinstance(self, SigV4Mixin)`? Or do like https://review.opendev.org/c/openstack/swift/+/836755/ and have each define a class-level `sig_checker_cls`","commit_id":"6a2ae81ab3459d64ea0489803bf06ebb001d552f"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"c9c80a3a9d7af9f189d0953f7df54cbd8e89601a","unresolved":false,"context_lines":[{"line_number":654,"context_line":"        self.bucket_in_host \u003d self._parse_host()"},{"line_number":655,"context_line":"        self.container_name, self.object_name \u003d self._parse_uri()"},{"line_number":656,"context_line":"        self._validate_headers()"},{"line_number":657,"context_line":"        if self.is_sigv4:"},{"line_number":658,"context_line":"            self.sig_checker \u003d SigCheckerV4(self)"},{"line_number":659,"context_line":"        else:"},{"line_number":660,"context_line":"            self.sig_checker \u003d SigCheckerV2(self)"}],"source_content_type":"text/x-python","patch_set":3,"id":"cbf9b12e_4b18211d","line":657,"in_reply_to":"0f44fb93_1cfb4c63","updated":"2025-04-15 17:43:33.000000000","message":"Done\n\nI dislike the class-level sig_checker_cls -I understand it but I prefer something more explicit in the code path","commit_id":"6a2ae81ab3459d64ea0489803bf06ebb001d552f"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"9ba75ba60119e8acd96e55a0f12fae7e16eb96cb","unresolved":false,"context_lines":[{"line_number":654,"context_line":"        self.bucket_in_host \u003d self._parse_host()"},{"line_number":655,"context_line":"        self.container_name, self.object_name \u003d self._parse_uri()"},{"line_number":656,"context_line":"        self._validate_headers()"},{"line_number":657,"context_line":"        if self.is_sigv4:"},{"line_number":658,"context_line":"            self.sig_checker \u003d SigCheckerV4(self)"},{"line_number":659,"context_line":"        else:"},{"line_number":660,"context_line":"            self.sig_checker \u003d SigCheckerV2(self)"}],"source_content_type":"text/x-python","patch_set":3,"id":"a0d9bab3_9a9cb2cd","line":657,"in_reply_to":"cbf9b12e_4b18211d","updated":"2025-04-16 01:17:28.000000000","message":"See what you think of the direction of https://review.opendev.org/c/openstack/swift/+/947275","commit_id":"6a2ae81ab3459d64ea0489803bf06ebb001d552f"}]}
