)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ecfda4be71a025313b75e856c0c64f2c502c1ab8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"92de189c_fb3bbc37","updated":"2024-09-06 09:51:55.000000000","message":"ok, this gets rid of some 500\u0027s and a 412 and instead we\u0027d get back 404s - is that what we want vs 400s?\n\nsee https://review.opendev.org/c/openstack/swift/+/928332","commit_id":"59f0b5cfe18f80253a001c62271fc2cabf7b1713"}],"swift/common/utils/base.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ecfda4be71a025313b75e856c0c64f2c502c1ab8","unresolved":true,"context_lines":[{"line_number":133,"context_line":"            raise ValueError(\u0027Invalid path: %s\u0027 % quote(path))"},{"line_number":134,"context_line":"    segs \u003d segs[1:maxsegs]"},{"line_number":135,"context_line":"    if not all(segs[:-1]):"},{"line_number":136,"context_line":"        raise ValueError(\u0027Invalid path: %s\u0027 % quote(path))"},{"line_number":137,"context_line":"    segs.extend([None] * (maxsegs - 1 - len(segs)))"},{"line_number":138,"context_line":"    return segs"}],"source_content_type":"text/x-python","patch_set":1,"id":"48b98c39_a810d966","line":136,"updated":"2024-09-06 09:51:55.000000000","message":"seems reasonable","commit_id":"59f0b5cfe18f80253a001c62271fc2cabf7b1713"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"ff612af4ad8a69ba861aabf5b6c95fe08c3138e4","unresolved":true,"context_lines":[{"line_number":133,"context_line":"            raise ValueError(\u0027Invalid path: %s\u0027 % quote(path))"},{"line_number":134,"context_line":"    segs \u003d segs[1:maxsegs]"},{"line_number":135,"context_line":"    if not all(segs[:-1]):"},{"line_number":136,"context_line":"        raise ValueError(\u0027Invalid path: %s\u0027 % quote(path))"},{"line_number":137,"context_line":"    segs.extend([None] * (maxsegs - 1 - len(segs)))"},{"line_number":138,"context_line":"    return segs"}],"source_content_type":"text/x-python","patch_set":1,"id":"e8fe6bda_fbe8d3d8","line":136,"in_reply_to":"48b98c39_a810d966","updated":"2024-09-10 01:46:39.000000000","message":"Yeah, basically not allowing an empty account or container makes sense. If someone isn\u0027t using it on a swift path it could get in the way.. but that seems out of scope of this code.. So I agree, seems reasonable.","commit_id":"59f0b5cfe18f80253a001c62271fc2cabf7b1713"}],"test/functional/test_protocol.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"20c041326657025a0e11fdf01c5ec41ef79cf4aa","unresolved":true,"context_lines":[{"line_number":69,"context_line":"        self._check_transaction_id(resp)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def test_path_missing_account(self):"},{"line_number":72,"context_line":"        self._do_test_path_missing_element(\u0027/v1//testc/testo\u0027)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_path_missing_container(self):"},{"line_number":75,"context_line":"        self._do_test_path_missing_element(\u0027/v1/testa//testo\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"80f964d5_548ffac0","line":72,"updated":"2024-09-09 10:26:36.000000000","message":"note for other reviewers: on master this return 412","commit_id":"015cbaac868494c076a4470bb4dcfa907922d870"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"ff612af4ad8a69ba861aabf5b6c95fe08c3138e4","unresolved":true,"context_lines":[{"line_number":69,"context_line":"        self._check_transaction_id(resp)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def test_path_missing_account(self):"},{"line_number":72,"context_line":"        self._do_test_path_missing_element(\u0027/v1//testc/testo\u0027)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_path_missing_container(self):"},{"line_number":75,"context_line":"        self._do_test_path_missing_element(\u0027/v1/testa//testo\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ece7292d_ad8edc79","line":72,"in_reply_to":"80f964d5_548ffac0","updated":"2024-09-10 01:46:39.000000000","message":"Thanks Al! That saves some time 😊\n412 isn\u0027t too bad a response. Because we do need to provide an account. but a 404 is probably giving away less information and also correct, so I think I can get onboard with this.","commit_id":"015cbaac868494c076a4470bb4dcfa907922d870"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"20c041326657025a0e11fdf01c5ec41ef79cf4aa","unresolved":true,"context_lines":[{"line_number":72,"context_line":"        self._do_test_path_missing_element(\u0027/v1//testc/testo\u0027)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_path_missing_container(self):"},{"line_number":75,"context_line":"        self._do_test_path_missing_element(\u0027/v1/testa//testo\u0027)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def test_path_missing_account_and_container(self):"},{"line_number":78,"context_line":"        self._do_test_path_missing_element(\u0027/v1///testo\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"68537597_f05c35f7","line":75,"updated":"2024-09-09 10:26:36.000000000","message":"note for other reviewers: on master this return 500","commit_id":"015cbaac868494c076a4470bb4dcfa907922d870"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"ff612af4ad8a69ba861aabf5b6c95fe08c3138e4","unresolved":true,"context_lines":[{"line_number":72,"context_line":"        self._do_test_path_missing_element(\u0027/v1//testc/testo\u0027)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_path_missing_container(self):"},{"line_number":75,"context_line":"        self._do_test_path_missing_element(\u0027/v1/testa//testo\u0027)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def test_path_missing_account_and_container(self):"},{"line_number":78,"context_line":"        self._do_test_path_missing_element(\u0027/v1///testo\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dc817caa_b1e452d9","line":75,"in_reply_to":"68537597_f05c35f7","updated":"2024-09-10 01:46:39.000000000","message":"404 is better 500! nice one Tim.","commit_id":"015cbaac868494c076a4470bb4dcfa907922d870"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"20c041326657025a0e11fdf01c5ec41ef79cf4aa","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        self._do_test_path_missing_element(\u0027/v1/testa//testo\u0027)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def test_path_missing_account_and_container(self):"},{"line_number":78,"context_line":"        self._do_test_path_missing_element(\u0027/v1///testo\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"089295db_157a6acf","line":78,"updated":"2024-09-09 10:26:36.000000000","message":"note for other reviewers: on master this return 500","commit_id":"015cbaac868494c076a4470bb4dcfa907922d870"}]}
