)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"47b6e5d37f95319f4f26a14441cb90fc3a0c3672","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b7b0d3ee_134bc075","updated":"2023-07-04 04:06:00.000000000","message":"Been doing some playing and have managed to fire off some of the s3api keys, I\u0027ll send you a screen shot. Unfortuantly there does seem to be nice and easy way to attach it to this review.","commit_id":"f9af0b70b7ce22014e5756d3bdf863f929f6c71b"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"61f2a94c9591f6f508b073c4704d6f9f2e71e2b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"00981c93_b8436f35","updated":"2023-06-30 16:36:26.000000000","message":"recheck","commit_id":"f9af0b70b7ce22014e5756d3bdf863f929f6c71b"}],"swift/common/middleware/s3api/s3api.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"61f2a94c9591f6f508b073c4704d6f9f2e71e2b8","unresolved":true,"context_lines":[{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        self.logger \u003d get_logger("},{"line_number":296,"context_line":"            wsgi_conf, log_route\u003dwsgi_conf.get(\u0027log_name\u0027, \u0027s3api\u0027),"},{"line_number":297,"context_line":"            statsd_tail_prefix\u003d\u0027s3api\u0027)"},{"line_number":298,"context_line":"        self.check_pipeline(wsgi_conf)"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    def is_s3_cors_preflight(self, env):"}],"source_content_type":"text/x-python","patch_set":1,"id":"c3ae416d_46ef8ea1","line":297,"updated":"2023-06-30 16:36:26.000000000","message":"I couldn\u0027t find any existing statsd metric being emitted by s3api","commit_id":"f9af0b70b7ce22014e5756d3bdf863f929f6c71b"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"eb9f4f2f33eac3a829d533be58605cdea0549eed","unresolved":false,"context_lines":[{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        self.logger \u003d get_logger("},{"line_number":296,"context_line":"            wsgi_conf, log_route\u003dwsgi_conf.get(\u0027log_name\u0027, \u0027s3api\u0027),"},{"line_number":297,"context_line":"            statsd_tail_prefix\u003d\u0027s3api\u0027)"},{"line_number":298,"context_line":"        self.check_pipeline(wsgi_conf)"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    def is_s3_cors_preflight(self, env):"}],"source_content_type":"text/x-python","patch_set":1,"id":"b4ef3a3f_c6e69eb0","line":297,"updated":"2023-07-03 08:21:20.000000000","message":"this reminds me I should try out some s3api tracing and try and pull the message on any 4/5xx messages, because that could be handy elsewhere too!","commit_id":"f9af0b70b7ce22014e5756d3bdf863f929f6c71b"}],"swift/common/middleware/s3api/s3request.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"eb9f4f2f33eac3a829d533be58605cdea0549eed","unresolved":false,"context_lines":[{"line_number":195,"context_line":"            if timestamp \u003c 0:"},{"line_number":196,"context_line":"                raise AccessDenied(\u0027AWS authentication requires a valid Date \u0027"},{"line_number":197,"context_line":"                                   \u0027or x-amz-date header\u0027,"},{"line_number":198,"context_line":"                                   reason\u003d\u0027invalid_date\u0027)"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"            try:"},{"line_number":201,"context_line":"                self._timestamp \u003d S3Timestamp(timestamp)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3da55aab_5a585393","line":198,"updated":"2023-07-03 08:21:20.000000000","message":"I guess I could be nit picky as say we could use some constant.. but seeing as there is 2 of these and they both basially represent the same thing there is also no need to identify them from each other.","commit_id":"f9af0b70b7ce22014e5756d3bdf863f929f6c71b"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"eb9f4f2f33eac3a829d533be58605cdea0549eed","unresolved":false,"context_lines":[{"line_number":585,"context_line":"            except ValueError:"},{"line_number":586,"context_line":"                raise AccessDenied(\u0027AWS authentication requires a valid Date \u0027"},{"line_number":587,"context_line":"                                   \u0027or x-amz-date header\u0027,"},{"line_number":588,"context_line":"                                   reason\u003d\u0027invalid_date\u0027)"},{"line_number":589,"context_line":""},{"line_number":590,"context_line":"            if timestamp \u003c 0:"},{"line_number":591,"context_line":"                raise AccessDenied(\u0027AWS authentication requires a valid Date \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"211851f8_b9e384a9","line":588,"updated":"2023-07-03 08:21:20.000000000","message":"uh oh, more invalid dates, I do wonder if a typo could cause issues one day.. maybe having a constant starts to make more sense.. not a blocker tho","commit_id":"f9af0b70b7ce22014e5756d3bdf863f929f6c71b"}],"swift/common/middleware/s3api/s3response.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"eb9f4f2f33eac3a829d533be58605cdea0549eed","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        if self.reason:"},{"line_number":255,"context_line":"            parts.append(self.reason)"},{"line_number":256,"context_line":"        metric \u003d \u0027.\u0027.join(parts)"},{"line_number":257,"context_line":"        return metric.replace(\u0027 \u0027, \u0027_\u0027)"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def _body_iter(self):"},{"line_number":260,"context_line":"        error_elem \u003d Element(\u0027Error\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"40e8f22d_166e0a49","line":257,"updated":"2023-07-03 08:21:20.000000000","message":"Oh cool, so if there isn\u0027t a reason it\u0027ll just fire out status.code","commit_id":"f9af0b70b7ce22014e5756d3bdf863f929f6c71b"}]}
