)]}'
{"etc/proxy-server.conf-sample":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"302fbdbd4b6ae8b30011e32c6e156d2a4cd8d0cc","unresolved":false,"context_lines":[{"line_number":73,"context_line":"# cors_allow_origin \u003d"},{"line_number":74,"context_line":"# strict_cors_mode \u003d True"},{"line_number":75,"context_line":"#"},{"line_number":76,"context_line":"# Comma separated list of headers to expose through Access-Control-Expose-Headers"},{"line_number":77,"context_line":"# cors_expose_headers \u003d"},{"line_number":78,"context_line":"#"},{"line_number":79,"context_line":"# client_timeout \u003d 60"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"9a30ddce_2246f27a","line":76,"updated":"2017-03-13 17:26:50.000000000","message":"nit: as in the deployment guide, could note that these are in addition to any set on the container and the defaults","commit_id":"9b47de3095e5afacf70106c1e3a3f265d64c7822"}],"swift/proxy/server.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"302fbdbd4b6ae8b30011e32c6e156d2a4cd8d0cc","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            a.strip()"},{"line_number":148,"context_line":"            for a in conf.get(\u0027cors_allow_origin\u0027, \u0027\u0027).split(\u0027,\u0027)"},{"line_number":149,"context_line":"            if a.strip()]"},{"line_number":150,"context_line":"        self.cors_expose_headers \u003d ["},{"line_number":151,"context_line":"            a.strip()"},{"line_number":152,"context_line":"            for a in conf.get(\u0027cors_expose_headers\u0027, \u0027\u0027).split(\u0027,\u0027)"},{"line_number":153,"context_line":"            if a.strip()]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_652e2fa6","line":150,"updated":"2017-03-13 17:26:50.000000000","message":"there\u0027s no test coverage for this conf loading\n\nsee follow-up https://review.openstack.org/445021","commit_id":"9b47de3095e5afacf70106c1e3a3f265d64c7822"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"7377194e8489dc76154f4696d57eb6c56822b944","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        self.cors_expose_headers \u003d ["},{"line_number":151,"context_line":"            a.strip()"},{"line_number":152,"context_line":"            for a in conf.get(\u0027cors_expose_headers\u0027, \u0027\u0027).split(\u0027,\u0027)"},{"line_number":153,"context_line":"            if a.strip()]"},{"line_number":154,"context_line":"        self.strict_cors_mode \u003d config_true_value("},{"line_number":155,"context_line":"            conf.get(\u0027strict_cors_mode\u0027, \u0027t\u0027))"},{"line_number":156,"context_line":"        self.node_timings \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_6b7347e8","line":153,"updated":"2017-02-27 21:46:58.000000000","message":"nit: Maybe use list_from_csv? OTOH, this fits with existing code...","commit_id":"9b47de3095e5afacf70106c1e3a3f265d64c7822"},{"author":{"_account_id":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},"change_message_id":"68b71af09d42bf2e1658de44f440bcc3493aee91","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        self.cors_expose_headers \u003d ["},{"line_number":151,"context_line":"            a.strip()"},{"line_number":152,"context_line":"            for a in conf.get(\u0027cors_expose_headers\u0027, \u0027\u0027).split(\u0027,\u0027)"},{"line_number":153,"context_line":"            if a.strip()]"},{"line_number":154,"context_line":"        self.strict_cors_mode \u003d config_true_value("},{"line_number":155,"context_line":"            conf.get(\u0027strict_cors_mode\u0027, \u0027t\u0027))"},{"line_number":156,"context_line":"        self.node_timings \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_9e42143d","line":153,"in_reply_to":"da36d5c6_6b7347e8","updated":"2017-03-02 15:09:44.000000000","message":"I propose to let this commit as-is. And I\u0027ll send right after a commit to use list_from_csv everywhere it should be used. And also create a more generic split_list() that accept a separator argument (because there is some places where the same code exists with space, semi-colon, ...)\n\nDoes it sound ok?","commit_id":"9b47de3095e5afacf70106c1e3a3f265d64c7822"}],"test/unit/proxy/test_server.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"7377194e8489dc76154f4696d57eb6c56822b944","unresolved":false,"context_lines":[{"line_number":5341,"context_line":"        self.assertIn(\u0027access-control-expose-headers\u0027, resp.headers)"},{"line_number":5342,"context_line":"        exposed \u003d set("},{"line_number":5343,"context_line":"            h.strip() for h in"},{"line_number":5344,"context_line":"            resp.headers[\u0027access-control-expose-headers\u0027].split(\u0027,\u0027))"},{"line_number":5345,"context_line":"        self.assertEqual(default_expected_exposed, exposed)"},{"line_number":5346,"context_line":""},{"line_number":5347,"context_line":"        # test operator expose_headers"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_46391ad8","line":5344,"updated":"2017-02-27 21:46:58.000000000","message":"nit: We could tighten this to split off \u0027, \u0027 (with the space) and leave off the strip() -- don\u0027t think it really matters much, though.","commit_id":"9b47de3095e5afacf70106c1e3a3f265d64c7822"},{"author":{"_account_id":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},"change_message_id":"68b71af09d42bf2e1658de44f440bcc3493aee91","unresolved":false,"context_lines":[{"line_number":5341,"context_line":"        self.assertIn(\u0027access-control-expose-headers\u0027, resp.headers)"},{"line_number":5342,"context_line":"        exposed \u003d set("},{"line_number":5343,"context_line":"            h.strip() for h in"},{"line_number":5344,"context_line":"            resp.headers[\u0027access-control-expose-headers\u0027].split(\u0027,\u0027))"},{"line_number":5345,"context_line":"        self.assertEqual(default_expected_exposed, exposed)"},{"line_number":5346,"context_line":""},{"line_number":5347,"context_line":"        # test operator expose_headers"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_1e838457","line":5344,"in_reply_to":"da36d5c6_46391ad8","updated":"2017-03-02 15:09:44.000000000","message":"are we allowed to use swift functions in tests? I\u0027m thinking of list_from_csv)","commit_id":"9b47de3095e5afacf70106c1e3a3f265d64c7822"}]}
