)]}'
{"etc/proxy-server.conf-sample":[{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"ebcdf1fba78cee7f715b7bf309e4b95eeee386a7","unresolved":false,"context_lines":[{"line_number":920,"context_line":"# and left of most other middlewares. If it is not already present, it will"},{"line_number":921,"context_line":"# be automatically inserted for you."},{"line_number":922,"context_line":"[filter:listing_formats]"},{"line_number":923,"context_line":"use \u003d egg:swift#listing_formats"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"7f287b81_ed71680e","line":923,"updated":"2017-09-01 20:48:37.000000000","message":"should also include it here: \nhttps://github.com/openstack/swift/blob/master/doc/saio/swift/proxy-server.conf","commit_id":"a9446dc73830649985a08b0a681d135965b616be"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c148434ee955c87e8f3c62ca7a393cb6631b583a","unresolved":false,"context_lines":[{"line_number":920,"context_line":"# and left of most other middlewares. If it is not already present, it will"},{"line_number":921,"context_line":"# be automatically inserted for you."},{"line_number":922,"context_line":"[filter:listing_formats]"},{"line_number":923,"context_line":"use \u003d egg:swift#listing_formats"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"5f2577a7_56d025ca","line":923,"in_reply_to":"7f287b81_ed71680e","updated":"2017-09-08 21:46:59.000000000","message":"Done","commit_id":"a9446dc73830649985a08b0a681d135965b616be"}],"swift/common/middleware/listing_formats.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f2626b05852b1697260d8007155c55ae8e3fd562","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        resp \u003d req.get_response(self.app)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        if any(["},{"line_number":99,"context_line":"                not (200 \u003c\u003d resp.status_int \u003c 300),"},{"line_number":100,"context_line":"                out_content_type \u003d\u003d resp.content_type,"},{"line_number":101,"context_line":"                resp.content_type !\u003d \u0027application/json\u0027]):"},{"line_number":102,"context_line":"            return resp"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_6cc2f235","line":99,"range":{"start_line":99,"start_character":16,"end_line":99,"end_character":50},"updated":"2017-03-25 00:14:57.000000000","message":"Just use is_success","commit_id":"858227b80e2332a571de25e58a47e373a2cc4254"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f2626b05852b1697260d8007155c55ae8e3fd562","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        if any(["},{"line_number":99,"context_line":"                not (200 \u003c\u003d resp.status_int \u003c 300),"},{"line_number":100,"context_line":"                out_content_type \u003d\u003d resp.content_type,"},{"line_number":101,"context_line":"                resp.content_type !\u003d \u0027application/json\u0027]):"},{"line_number":102,"context_line":"            return resp"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        resp.content_type \u003d out_content_type"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_2ce2aad6","line":101,"updated":"2017-03-25 00:14:57.000000000","message":"This isn\u0027t enough to save us from crazy staticweb responses","commit_id":"858227b80e2332a571de25e58a47e373a2cc4254"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f2626b05852b1697260d8007155c55ae8e3fd562","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        if req.method \u003d\u003d \u0027HEAD\u0027:"},{"line_number":107,"context_line":"            return resp"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        listing \u003d json.loads(resp.body)"},{"line_number":110,"context_line":"        if out_content_type.endswith(\u0027/xml\u0027):"},{"line_number":111,"context_line":"            if cont:"},{"line_number":112,"context_line":"                resp.body \u003d self.handle_container(listing, cont)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_ccd0defa","line":109,"updated":"2017-03-25 00:14:57.000000000","message":"At the very least we probably ought to have a\n\n try:\n     listing \u003d json.loads(resp.body)\n except ValueError:\n     return resp\n\n...but that still doesn\u0027t help if we\u0027ve got a staticweb response that\u0027s connected to some 5GB object with a content-type of application/json.","commit_id":"858227b80e2332a571de25e58a47e373a2cc4254"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"ebcdf1fba78cee7f715b7bf309e4b95eeee386a7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        # TODO: Think more about whether ^^^ is a good idea."},{"line_number":77,"context_line":"        # On the one hand, having more information is generally better."},{"line_number":78,"context_line":"        # On the other, clients may have written their own overly-restrictive"},{"line_number":79,"context_line":"        # XML schemas for parsing responses."},{"line_number":80,"context_line":"        sub.tail \u003d \u0027\\n\u0027"},{"line_number":81,"context_line":"    return tostring(doc, encoding\u003d\u0027UTF-8\u0027).replace("},{"line_number":82,"context_line":"        \"\u003c?xml version\u003d\u00271.0\u0027 encoding\u003d\u0027UTF-8\u0027?\u003e\","}],"source_content_type":"text/x-python","patch_set":8,"id":"7f287b81_55580255","line":79,"updated":"2017-09-01 20:48:37.000000000","message":"when adding xml support in symlink that argument was to not change the xml output, not sure if we are a bit more flexibile now.","commit_id":"a9446dc73830649985a08b0a681d135965b616be"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8fa638033767f9dfc202df84bb37a87858d23c50","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        # TODO: Think more about whether ^^^ is a good idea."},{"line_number":77,"context_line":"        # On the one hand, having more information is generally better."},{"line_number":78,"context_line":"        # On the other, clients may have written their own overly-restrictive"},{"line_number":79,"context_line":"        # XML schemas for parsing responses."},{"line_number":80,"context_line":"        sub.tail \u003d \u0027\\n\u0027"},{"line_number":81,"context_line":"    return tostring(doc, encoding\u003d\u0027UTF-8\u0027).replace("},{"line_number":82,"context_line":"        \"\u003c?xml version\u003d\u00271.0\u0027 encoding\u003d\u0027UTF-8\u0027?\u003e\","}],"source_content_type":"text/x-python","patch_set":8,"id":"7f287b81_7890954f","line":79,"in_reply_to":"7f287b81_55580255","updated":"2017-09-01 21:12:18.000000000","message":"I\u0027m still torn. Wanted to flag it as something for reviewers to think about.","commit_id":"a9446dc73830649985a08b0a681d135965b616be"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"29ab84d9455c5e4130001fe864bba6460f38455b","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        # TODO: Think more about whether ^^^ is a good idea."},{"line_number":77,"context_line":"        # On the one hand, having more information is generally better."},{"line_number":78,"context_line":"        # On the other, clients may have written their own overly-restrictive"},{"line_number":79,"context_line":"        # XML schemas for parsing responses."},{"line_number":80,"context_line":"        sub.tail \u003d \u0027\\n\u0027"},{"line_number":81,"context_line":"    return tostring(doc, encoding\u003d\u0027UTF-8\u0027).replace("},{"line_number":82,"context_line":"        \"\u003c?xml version\u003d\u00271.0\u0027 encoding\u003d\u0027UTF-8\u0027?\u003e\","}],"source_content_type":"text/x-python","patch_set":8,"id":"7f287b81_ae1aa8c2","line":79,"in_reply_to":"7f287b81_7890954f","updated":"2017-09-08 00:48:32.000000000","message":"I don\u0027t like it. Considering that we have to replace the quotes in the XML prolog in order to appease a few clients with brittle parsers, I\u0027d imagine adding a new field would break substantially more.\n\nIf a client needs information not in the XML account listing, they can start requesting JSON.","commit_id":"a9446dc73830649985a08b0a681d135965b616be"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c148434ee955c87e8f3c62ca7a393cb6631b583a","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        # TODO: Think more about whether ^^^ is a good idea."},{"line_number":77,"context_line":"        # On the one hand, having more information is generally better."},{"line_number":78,"context_line":"        # On the other, clients may have written their own overly-restrictive"},{"line_number":79,"context_line":"        # XML schemas for parsing responses."},{"line_number":80,"context_line":"        sub.tail \u003d \u0027\\n\u0027"},{"line_number":81,"context_line":"    return tostring(doc, encoding\u003d\u0027UTF-8\u0027).replace("},{"line_number":82,"context_line":"        \"\u003c?xml version\u003d\u00271.0\u0027 encoding\u003d\u0027UTF-8\u0027?\u003e\","}],"source_content_type":"text/x-python","patch_set":8,"id":"5f2577a7_36d599ba","line":79,"in_reply_to":"7f287b81_ae1aa8c2","updated":"2017-09-08 21:46:59.000000000","message":"Done","commit_id":"a9446dc73830649985a08b0a681d135965b616be"}],"test/unit/common/middleware/crypto/test_decrypter.py":[{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"ebcdf1fba78cee7f715b7bf309e4b95eeee386a7","unresolved":false,"context_lines":[{"line_number":974,"context_line":"                             \"Expected %s but got %s for key %s\""},{"line_number":975,"context_line":"                             % (v, actual, k))"},{"line_number":976,"context_line":""},{"line_number":977,"context_line":"    def test_GET_container_xml(self):"},{"line_number":978,"context_line":"        content_type_1 \u003d u\u0027\\uF10F\\uD20D\\uB30B\\u9409\u0027"},{"line_number":979,"context_line":"        content_type_2 \u003d \u0027text/plain; param\u003dfoo\u0027"},{"line_number":980,"context_line":"        pt_etag1 \u003d \u0027c6e8196d7f0fff6444b90861fe8d609d\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f287b81_5506c222","side":"PARENT","line":977,"updated":"2017-09-01 20:48:37.000000000","message":"do we not need these tests anymore or did they move else where?","commit_id":"9c3ef2dff8fef070ef54fb2e51615f23d4de966f"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8fa638033767f9dfc202df84bb37a87858d23c50","unresolved":false,"context_lines":[{"line_number":974,"context_line":"                             \"Expected %s but got %s for key %s\""},{"line_number":975,"context_line":"                             % (v, actual, k))"},{"line_number":976,"context_line":""},{"line_number":977,"context_line":"    def test_GET_container_xml(self):"},{"line_number":978,"context_line":"        content_type_1 \u003d u\u0027\\uF10F\\uD20D\\uB30B\\u9409\u0027"},{"line_number":979,"context_line":"        content_type_2 \u003d \u0027text/plain; param\u003dfoo\u0027"},{"line_number":980,"context_line":"        pt_etag1 \u003d \u0027c6e8196d7f0fff6444b90861fe8d609d\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f287b81_58ef19e9","side":"PARENT","line":977,"in_reply_to":"7f287b81_5506c222","updated":"2017-09-01 21:12:18.000000000","message":"Don\u0027t need them anymore -- the JSON tests are sufficient, since all responses will be JSON (and that\u0027s enforced by the container controller in proxy-server).","commit_id":"9c3ef2dff8fef070ef54fb2e51615f23d4de966f"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8fa638033767f9dfc202df84bb37a87858d23c50","unresolved":false,"context_lines":[{"line_number":960,"context_line":"        self.assertIn(\"Cipher must be AES_CTR_256\","},{"line_number":961,"context_line":"                      self.decrypter.logger.get_lines_for_level(\u0027error\u0027)[0])"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"    def _assert_element(self, name, expected, element):"},{"line_number":964,"context_line":"        self.assertEqual(element.tagName, name)"},{"line_number":965,"context_line":"        self._assert_element_contains_dict(expected, element)"},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"    def _assert_element_contains_dict(self, expected, element):"},{"line_number":968,"context_line":"        for k, v in expected.items():"},{"line_number":969,"context_line":"            entry \u003d element.getElementsByTagName(k)"},{"line_number":970,"context_line":"            self.assertIsNotNone(entry, \u0027Key %s not found\u0027 % k)"},{"line_number":971,"context_line":"            actual \u003d entry[0].childNodes[0].nodeValue"},{"line_number":972,"context_line":"            self.assertEqual(v, actual,"},{"line_number":973,"context_line":"                             \"Expected %s but got %s for key %s\""},{"line_number":974,"context_line":"                             % (v, actual, k))"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":""},{"line_number":977,"context_line":"class TestModuleMethods(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f287b81_f8bfe5cd","line":974,"range":{"start_line":963,"start_character":4,"end_line":974,"end_character":46},"updated":"2017-09-01 21:12:18.000000000","message":"These lines can also go...","commit_id":"a9446dc73830649985a08b0a681d135965b616be"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c148434ee955c87e8f3c62ca7a393cb6631b583a","unresolved":false,"context_lines":[{"line_number":960,"context_line":"        self.assertIn(\"Cipher must be AES_CTR_256\","},{"line_number":961,"context_line":"                      self.decrypter.logger.get_lines_for_level(\u0027error\u0027)[0])"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"    def _assert_element(self, name, expected, element):"},{"line_number":964,"context_line":"        self.assertEqual(element.tagName, name)"},{"line_number":965,"context_line":"        self._assert_element_contains_dict(expected, element)"},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"    def _assert_element_contains_dict(self, expected, element):"},{"line_number":968,"context_line":"        for k, v in expected.items():"},{"line_number":969,"context_line":"            entry \u003d element.getElementsByTagName(k)"},{"line_number":970,"context_line":"            self.assertIsNotNone(entry, \u0027Key %s not found\u0027 % k)"},{"line_number":971,"context_line":"            actual \u003d entry[0].childNodes[0].nodeValue"},{"line_number":972,"context_line":"            self.assertEqual(v, actual,"},{"line_number":973,"context_line":"                             \"Expected %s but got %s for key %s\""},{"line_number":974,"context_line":"                             % (v, actual, k))"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":""},{"line_number":977,"context_line":"class TestModuleMethods(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f2577a7_d6e3f5a3","line":974,"range":{"start_line":963,"start_character":4,"end_line":974,"end_character":46},"in_reply_to":"7f287b81_f8bfe5cd","updated":"2017-09-08 21:46:59.000000000","message":"Done","commit_id":"a9446dc73830649985a08b0a681d135965b616be"}]}
