)]}'
{"etc/proxy-server.conf-sample":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"a1fecf4919d6c42d8674ddd32a2119622a037f50","unresolved":false,"context_lines":[{"line_number":548,"context_line":"# At times when it\u0027s impossible for staticweb to guess the outside"},{"line_number":549,"context_line":"# endpoint correctly, the url_base may be used to supply the URL"},{"line_number":550,"context_line":"# scheme and/or the host name (and port number) in order to generate"},{"line_number":551,"context_line":"# redirects."},{"line_number":552,"context_line":"# url_base \u003d"},{"line_number":553,"context_line":""},{"line_number":554,"context_line":"# Note: Put tempurl before dlo, slo and your auth filter(s) in the pipeline"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"5a8bc5a2_b7714f0e","line":551,"range":{"start_line":551,"start_character":2,"end_line":551,"end_character":12},"updated":"2016-09-27 14:00:35.000000000","message":"A few examples would be useful. e.g.,\n\n    # Example values:\n    #    http://www.example.com    - redirect to www.example.com\n    #    https:                    - changes the schema only\n    #    https://                  - same, changes the schema only\n    #    //www.example.com:8080    - redirect www.example.com on port 8080 (schema unchanged)","commit_id":"5bb26b063da76139c426062e5be4c96a423029a2"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"e3cc05ab2e804e01a02667d73abe88c086d159a8","unresolved":false,"context_lines":[{"line_number":548,"context_line":"# At times when it\u0027s impossible for staticweb to guess the outside"},{"line_number":549,"context_line":"# endpoint correctly, the url_base may be used to supply the URL"},{"line_number":550,"context_line":"# scheme and/or the host name (and port number) in order to generate"},{"line_number":551,"context_line":"# redirects."},{"line_number":552,"context_line":"# url_base \u003d"},{"line_number":553,"context_line":""},{"line_number":554,"context_line":"# Note: Put tempurl before dlo, slo and your auth filter(s) in the pipeline"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3a98d1f4_ba9db3bd","line":551,"range":{"start_line":551,"start_character":2,"end_line":551,"end_character":12},"in_reply_to":"5a8bc5a2_b7714f0e","updated":"2021-03-25 14:15:46.000000000","message":"Done","commit_id":"5bb26b063da76139c426062e5be4c96a423029a2"}],"swift/common/middleware/staticweb.py":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"a1fecf4919d6c42d8674ddd32a2119622a037f50","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        if self.url_scheme:"},{"line_number":362,"context_line":"            env[\u0027wsgi.url_scheme\u0027] \u003d self.url_scheme"},{"line_number":363,"context_line":"        if self.url_host:"},{"line_number":364,"context_line":"            env[\u0027HTTP_HOST\u0027] \u003d self.url_host"},{"line_number":365,"context_line":"        resp \u003d HTTPMovedPermanently(location\u003d(env[\u0027PATH_INFO\u0027] + \u0027/\u0027))"},{"line_number":366,"context_line":"        return resp(env, start_response)"},{"line_number":367,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_7757c625","line":364,"range":{"start_line":364,"start_character":12,"end_line":364,"end_character":28},"updated":"2016-09-27 14:00:35.000000000","message":"1+\n\nAs an aside, I had noticed that swob has a swift.leave_relative_location flag. However, when I played with it, it turns out it breaks of keystones\u0027 auth_token is in the pipeline (because it imports standard requests, not Swift\u0027s).","commit_id":"5bb26b063da76139c426062e5be4c96a423029a2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0ecfdd48887a0b891b1f062769b181b8ac0b02b5","unresolved":false,"context_lines":[{"line_number":504,"context_line":"        if url_base:"},{"line_number":505,"context_line":"            parsed \u003d urlparse(url_base)"},{"line_number":506,"context_line":"            self.url_scheme \u003d parsed.scheme"},{"line_number":507,"context_line":"            self.url_host \u003d parsed.netloc"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"    def __call__(self, env, start_response):"},{"line_number":510,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_7699541f","line":507,"updated":"2016-09-20 01:06:18.000000000","message":"What if either of these is blank?\n\nIf netloc includes a username/password, I feel like we should either ignore them or error out.\n\nIs it intentional that we throw out the path component? I could see it being useful if you\u0027ve set up a reverse proxy such that account urls look like (say)\n\n http://example.com/swift/v1/AUTH_foo\n\ninstead of\n\n http://example.com/v1/AUTH_foo","commit_id":"5bb26b063da76139c426062e5be4c96a423029a2"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"f4302feabf7fde71dc726023d051c4b6e6f93f79","unresolved":false,"context_lines":[{"line_number":504,"context_line":"        if url_base:"},{"line_number":505,"context_line":"            parsed \u003d urlparse(url_base)"},{"line_number":506,"context_line":"            self.url_scheme \u003d parsed.scheme"},{"line_number":507,"context_line":"            self.url_host \u003d parsed.netloc"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"    def __call__(self, env, start_response):"},{"line_number":510,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_04018c6a","line":507,"in_reply_to":"7a8ec9b2_7699541f","updated":"2016-09-20 15:00:57.000000000","message":"I were unable to make up an easy way to prepend the path and explain to staticweb what parts of path to discard before the append to the prefix. Was too much for my little head, even presuming that account interpolation is always on the staticweb. The recommended way is just do url_base\u003dhttps:// and the rest happens automatically like today.\n\nIf either is blank, it\u0027s absolutely okay, welcome in fact. I added a couple of tests that exercise such cases.","commit_id":"5bb26b063da76139c426062e5be4c96a423029a2"}],"test/unit/common/middleware/test_staticweb.py":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"a1fecf4919d6c42d8674ddd32a2119622a037f50","unresolved":false,"context_lines":[{"line_number":843,"context_line":"            self.assertEqual(resp.status_int, 503)  # sanity"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"class TestStaticWebUrlBase1(unittest.TestCase):"},{"line_number":847,"context_line":""},{"line_number":848,"context_line":"    def setUp(self):"},{"line_number":849,"context_line":"        self.app \u003d FakeApp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_3a57e358","line":846,"range":{"start_line":846,"start_character":6,"end_line":846,"end_character":27},"updated":"2016-09-27 14:00:35.000000000","message":"As Pete mentions, adding tests for blank bits of url_base would be useful","commit_id":"5bb26b063da76139c426062e5be4c96a423029a2"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"e3cc05ab2e804e01a02667d73abe88c086d159a8","unresolved":false,"context_lines":[{"line_number":843,"context_line":"            self.assertEqual(resp.status_int, 503)  # sanity"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"class TestStaticWebUrlBase1(unittest.TestCase):"},{"line_number":847,"context_line":""},{"line_number":848,"context_line":"    def setUp(self):"},{"line_number":849,"context_line":"        self.app \u003d FakeApp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_fa7adb75","line":846,"range":{"start_line":846,"start_character":6,"end_line":846,"end_character":27},"in_reply_to":"5a8bc5a2_3a57e358","updated":"2021-03-25 14:15:46.000000000","message":"If you mean testing that parts that we do not set explicitly are set to reasonable values by swob, then I added one of these for the schema. But not sure what to do about port adding.","commit_id":"5bb26b063da76139c426062e5be4c96a423029a2"}]}
