)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"735081c74ef8c74d09ff14ba6d10d20fe69105c4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"ratelimit once, before auth, for swift requests and again, after auth,"},{"line_number":20,"context_line":"for s3api. They\u0027ll both use the same memcached keys (so users can\u0027t"},{"line_number":21,"context_line":"switch APIs to effectively double their limit), but still only have each"},{"line_number":22,"context_line":"S3 request counted against the limit once."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: If003bb43f39427fe47a0f5a01dbcc19e1b3b67ef"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff570b3c_ec30ef58","line":22,"updated":"2020-05-19 17:39:57.000000000","message":"this is what we want, please update the example pipeline config in etc/","commit_id":"ec0ea77e1f507aee234a84cc45a8c93a26fe488e"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"82d88f6e7fb12b3320fd1ec5db6e8ba9d515e2da","unresolved":false,"context_lines":[{"line_number":19,"context_line":"ratelimit once, before auth, for swift requests and again, after auth,"},{"line_number":20,"context_line":"for s3api. They\u0027ll both use the same memcached keys (so users can\u0027t"},{"line_number":21,"context_line":"switch APIs to effectively double their limit), but still only have each"},{"line_number":22,"context_line":"S3 request counted against the limit once."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: If003bb43f39427fe47a0f5a01dbcc19e1b3b67ef"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff570b3c_0369a9f7","line":22,"in_reply_to":"ff570b3c_ec30ef58","updated":"2020-05-19 23:01:22.000000000","message":"So https://review.opendev.org/#/c/729344/ makes me think we aren\u0027t ready for s3api to be in the default pipeline, but I can at least add some words to proxy-server.conf-sample","commit_id":"ec0ea77e1f507aee234a84cc45a8c93a26fe488e"}],"swift/common/middleware/ratelimit.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"735081c74ef8c74d09ff14ba6d10d20fe69105c4","unresolved":false,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        if req.environ.get(\u0027swift.ratelimit.handled\u0027):"},{"line_number":246,"context_line":"            return None"},{"line_number":247,"context_line":"        req.environ[\u0027swift.ratelimit.handled\u0027] \u003d True"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        try:"},{"line_number":250,"context_line":"            account_info \u003d get_account_info(req.environ, self.app,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_ac4277a9","line":247,"updated":"2020-05-19 17:39:57.000000000","message":"quite obvious, well done","commit_id":"ec0ea77e1f507aee234a84cc45a8c93a26fe488e"}],"test/unit/common/middleware/test_ratelimit.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d156d1350830c0a022f8463af6281a4b63e01268","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        return [b\u0027Some Content\u0027]"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"class FakeReq:"},{"line_number":84,"context_line":"    def __init__(self, method, env\u003dNone):"},{"line_number":85,"context_line":"        self.method \u003d method"},{"line_number":86,"context_line":"        self.environ \u003d env or {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_ba5e3f73","line":83,"updated":"2020-05-18 22:28:27.000000000","message":"pep8: H238: old style class declaration, use new style (inherit from `object`)","commit_id":"729b0a7d0b4f5d82fddb74e4a27f49b59f5b9054"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d156d1350830c0a022f8463af6281a4b63e01268","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            (\u0027ratelimit/global-write/a\u0027, 10))"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        self.assertEqual(len(the_app.get_ratelimitable_key_tuples("},{"line_number":192,"context_line":"            FakeReq(\u0027PUT\u0027, environ), \u0027a\u0027, \u0027c\u0027, None, global_ratelimit\u003d\u0027notafloat\u0027)), 1)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def test_memcached_container_info_dict(self):"},{"line_number":195,"context_line":"        mdict \u003d headers_to_container_info({\u0027x-container-object-count\u0027: \u002745\u0027})"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_1a576b5a","line":192,"updated":"2020-05-18 22:28:27.000000000","message":"pep8: E501 line too long (87 \u003e 79 characters)","commit_id":"729b0a7d0b4f5d82fddb74e4a27f49b59f5b9054"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"735081c74ef8c74d09ff14ba6d10d20fe69105c4","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    skip_handled_check \u003d False"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __call__(self, env, start_response):"},{"line_number":78,"context_line":"        assert self.skip_handled_check or env.get(\u0027swift.ratelimit.handled\u0027)"},{"line_number":79,"context_line":"        start_response(\u0027200 OK\u0027, [])"},{"line_number":80,"context_line":"        return [b\u0027Some Content\u0027]"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_2cadc79a","line":78,"updated":"2020-05-19 17:39:57.000000000","message":"maybe it\u0027s not so great to have the stub doing the work of the test with inline assertions?","commit_id":"ec0ea77e1f507aee234a84cc45a8c93a26fe488e"}]}
