)]}'
{"swift/common/swob.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"67ab500f7768aa502383e6fbee0be00539090193","unresolved":false,"context_lines":[{"line_number":595,"context_line":"        # * more than 8 non-ascending-order ranges"},{"line_number":596,"context_line":"        try:"},{"line_number":597,"context_line":"            max_ranges \u003d int(max_ranges)"},{"line_number":598,"context_line":"            max_ranges \u003d max_ranges if max_ranges \u003e\u003d 0 else MAX_RANGES"},{"line_number":599,"context_line":"        except (TypeError, ValueError):"},{"line_number":600,"context_line":"            max_ranges \u003d MAX_RANGES"},{"line_number":601,"context_line":"        if len(all_ranges) \u003e max_ranges:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_94cd9f86","line":598,"range":{"start_line":598,"start_character":50,"end_line":598,"end_character":54},"updated":"2017-10-17 16:51:57.000000000","message":"...so you can turn off range support entirely by setting\n\n max_ranges \u003d 0\n\n? I\u0027m not actually sure that\u0027s a good thing... I kinda feel like Swift should always provide the expectation that range requests work, at least up to *some* limit. Not sure it has to be 50, but maybe there should be a floor of 10 or something?\n\nStill, at least I made sure the client would cope with 200s when it was expecting a 206 in https://github.com/openstack/python-swiftclient/commit/fd5579a","commit_id":"6c9a11439e9c82621bb12fbea9a6987b050e58de"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"ddebe13ffe66b9003255cef62a6e21873a35300c","unresolved":false,"context_lines":[{"line_number":595,"context_line":"        # * more than 8 non-ascending-order ranges"},{"line_number":596,"context_line":"        try:"},{"line_number":597,"context_line":"            max_ranges \u003d int(max_ranges)"},{"line_number":598,"context_line":"            max_ranges \u003d max_ranges if max_ranges \u003e\u003d 0 else MAX_RANGES"},{"line_number":599,"context_line":"        except (TypeError, ValueError):"},{"line_number":600,"context_line":"            max_ranges \u003d MAX_RANGES"},{"line_number":601,"context_line":"        if len(all_ranges) \u003e max_ranges:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_44886e70","line":598,"range":{"start_line":598,"start_character":50,"end_line":598,"end_character":54},"in_reply_to":"5f4e5783_94cd9f86","updated":"2017-10-18 05:29:57.000000000","message":"Yeah, ok good point, maybe a lower bound should exist. Even if it\u0027s 1 so a single range would always work.","commit_id":"6c9a11439e9c82621bb12fbea9a6987b050e58de"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"67ab500f7768aa502383e6fbee0be00539090193","unresolved":false,"context_lines":[{"line_number":1110,"context_line":""},{"line_number":1111,"context_line":"    def __init__(self, body\u003dNone, status\u003d200, headers\u003dNone, app_iter\u003dNone,"},{"line_number":1112,"context_line":"                 request\u003dNone, conditional_response\u003dFalse,"},{"line_number":1113,"context_line":"                 conditional_etag\u003dNone, max_ranges\u003dNone, **kw):"},{"line_number":1114,"context_line":"        self.headers \u003d HeaderKeyDict("},{"line_number":1115,"context_line":"            [(\u0027Content-Type\u0027, \u0027text/html; charset\u003dUTF-8\u0027)])"},{"line_number":1116,"context_line":"        self.conditional_response \u003d conditional_response"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_a0297637","line":1113,"updated":"2017-10-17 16:51:57.000000000","message":"I can\u0027t quite explain why, but it feels funny to dangle this off the response object... somehow, adding a swift.max_ranges WSGI environment key feels more natural to me? Or even an X-Backend-* header...","commit_id":"6c9a11439e9c82621bb12fbea9a6987b050e58de"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"ddebe13ffe66b9003255cef62a6e21873a35300c","unresolved":false,"context_lines":[{"line_number":1110,"context_line":""},{"line_number":1111,"context_line":"    def __init__(self, body\u003dNone, status\u003d200, headers\u003dNone, app_iter\u003dNone,"},{"line_number":1112,"context_line":"                 request\u003dNone, conditional_response\u003dFalse,"},{"line_number":1113,"context_line":"                 conditional_etag\u003dNone, max_ranges\u003dNone, **kw):"},{"line_number":1114,"context_line":"        self.headers \u003d HeaderKeyDict("},{"line_number":1115,"context_line":"            [(\u0027Content-Type\u0027, \u0027text/html; charset\u003dUTF-8\u0027)])"},{"line_number":1116,"context_line":"        self.conditional_response \u003d conditional_response"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_64048ac7","line":1113,"in_reply_to":"5f4e5783_a0297637","updated":"2017-10-18 05:29:57.000000000","message":"hmm, yeah, I felt a little dirty too. But I\u0027m getting it from the object server config, so feel weirder about the inserting it into into an extra header or into the request object itself.","commit_id":"6c9a11439e9c82621bb12fbea9a6987b050e58de"},{"author":{"_account_id":14766,"name":"Kazuhiro MIYAHARA","email":"miyahara.kazuhiro@lab.ntt.co.jp","username":"miyahara"},"change_message_id":"4815e86043894e63ebd8bb99d6a160c9c81ccd11","unresolved":false,"context_lines":[{"line_number":592,"context_line":"        # * more than 50 requested ranges OR"},{"line_number":593,"context_line":"        # * more than 2 overlapping ranges OR"},{"line_number":594,"context_line":"        # * more than 8 non-ascending-order ranges"},{"line_number":595,"context_line":"        if len(all_ranges) \u003e swift.common.constraints.MAX_RANGES:"},{"line_number":596,"context_line":"            return []"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        overlaps \u003d 0"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa0c359_eddfc737","line":595,"range":{"start_line":595,"start_character":29,"end_line":595,"end_character":64},"updated":"2018-02-20 04:49:38.000000000","message":"In my understanding, swift.conf is not reflected into swift.common.constraints.MAX_RANGES.\nI think we should use swift.common.constraints.EFFECTIVE_CONSTRAINTS[\u0027max_ranges\u0027].","commit_id":"2733e58ce50af5eeb40744fc2be99a509d84897d"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"fb6656e533647518c268895f002fb3ce8c6e6d6d","unresolved":false,"context_lines":[{"line_number":592,"context_line":"        # * more than 50 requested ranges OR"},{"line_number":593,"context_line":"        # * more than 2 overlapping ranges OR"},{"line_number":594,"context_line":"        # * more than 8 non-ascending-order ranges"},{"line_number":595,"context_line":"        if len(all_ranges) \u003e swift.common.constraints.MAX_RANGES:"},{"line_number":596,"context_line":"            return []"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        overlaps \u003d 0"}],"source_content_type":"text/x-python","patch_set":5,"id":"df7087c5_38b517ef","line":595,"range":{"start_line":595,"start_character":29,"end_line":595,"end_character":64},"in_reply_to":"3fa0c359_eddfc737","updated":"2018-03-21 02:19:12.000000000","message":"it happens on line 100 of contraints as it\u0027s loaded back into globals. \n\nAnd if it doesn\u0027t work, then you need to tell my SAIO for not listening, because it works in my local testing :P","commit_id":"2733e58ce50af5eeb40744fc2be99a509d84897d"},{"author":{"_account_id":14766,"name":"Kazuhiro MIYAHARA","email":"miyahara.kazuhiro@lab.ntt.co.jp","username":"miyahara"},"change_message_id":"33f5ea39b6893ec17f16880dbacf5b7df1bdf258","unresolved":false,"context_lines":[{"line_number":592,"context_line":"        # * more than 50 requested ranges OR"},{"line_number":593,"context_line":"        # * more than 2 overlapping ranges OR"},{"line_number":594,"context_line":"        # * more than 8 non-ascending-order ranges"},{"line_number":595,"context_line":"        if len(all_ranges) \u003e swift.common.constraints.MAX_RANGES:"},{"line_number":596,"context_line":"            return []"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        overlaps \u003d 0"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f6a8fd7_0a33ebf7","line":595,"range":{"start_line":595,"start_character":29,"end_line":595,"end_character":64},"in_reply_to":"df7087c5_38b517ef","updated":"2018-04-20 02:07:39.000000000","message":"I see :)\nYou are correct.","commit_id":"2733e58ce50af5eeb40744fc2be99a509d84897d"}]}
