)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"de3c054dde34e9e744c3e6a8e925bc89aa15936d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Assert URL consistency for agent_url"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"While agent_url is software generated, it is still a public endpoint"},{"line_number":10,"context_line":"and at least needs some upfront filtering applied. To do this, we"},{"line_number":11,"context_line":"can leverage urllib in the standard library to disassemble the"},{"line_number":12,"context_line":"url, and reconstruct it based upon the standards. The plus of this"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"11743662_1996b0e4","line":9,"range":{"start_line":9,"start_character":6,"end_line":9,"end_character":15},"updated":"2024-06-04 18:27:08.000000000","message":"this should be callback_url, but the agent_url is the callback_url. Yay for names :)","commit_id":"88c45151fa0beea9cb9e218af632ab640074f65a"}],"ironic/api/controllers/v1/ramdisk.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8e638e3835495acd00fc0a5834c13cb376260066","unresolved":true,"context_lines":[{"line_number":232,"context_line":"            # https://docs.python.org/3/library/urllib.parse.html#url-parsing-security  # noqa"},{"line_number":233,"context_line":"            parsed_url \u003d urlparse.urlparse(callback_url)"},{"line_number":234,"context_line":"            # Check if http (compatibility), or https (much newer agents)"},{"line_number":235,"context_line":"            if \u0027http\u0027 not in parsed_url.scheme:"},{"line_number":236,"context_line":"                raise ValueError"},{"line_number":237,"context_line":"            callback_url \u003d parsed_url.geturl()"},{"line_number":238,"context_line":"        except ValueError:"},{"line_number":239,"context_line":"            raise exception.InvalidParameterValue("}],"source_content_type":"text/x-python","patch_set":2,"id":"cdb7ab41_4b0c48d1","line":236,"range":{"start_line":235,"start_character":12,"end_line":236,"end_character":32},"updated":"2024-06-04 17:32:37.000000000","message":"I guess a question here is should we just add the extra logic to consult [agent]require_tls as well.","commit_id":"88c45151fa0beea9cb9e218af632ab640074f65a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8954003ae1c05311951dad6d1e8a5044e393747c","unresolved":true,"context_lines":[{"line_number":232,"context_line":"            # https://docs.python.org/3/library/urllib.parse.html#url-parsing-security  # noqa"},{"line_number":233,"context_line":"            parsed_url \u003d urlparse.urlparse(callback_url)"},{"line_number":234,"context_line":"            # Check if http (compatibility), or https (much newer agents)"},{"line_number":235,"context_line":"            if \u0027http\u0027 not in parsed_url.scheme:"},{"line_number":236,"context_line":"                raise ValueError"},{"line_number":237,"context_line":"            callback_url \u003d parsed_url.geturl()"},{"line_number":238,"context_line":"        except ValueError:"},{"line_number":239,"context_line":"            raise exception.InvalidParameterValue("}],"source_content_type":"text/x-python","patch_set":2,"id":"c648860c_a963b06a","line":236,"range":{"start_line":235,"start_character":12,"end_line":236,"end_character":32},"in_reply_to":"cdb7ab41_4b0c48d1","updated":"2024-06-04 18:05:04.000000000","message":"I decided to just toggle the default","commit_id":"88c45151fa0beea9cb9e218af632ab640074f65a"}],"ironic/tests/unit/api/controllers/v1/test_ramdisk.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"d8926135b0317e96a73df42cf683c3586f4528d2","unresolved":true,"context_lines":[{"line_number":299,"context_line":"            self.context)"},{"line_number":300,"context_line":"        response \u003d self.post_json("},{"line_number":301,"context_line":"            \u0027/heartbeat/%s\u0027 % node.uuid,"},{"line_number":302,"context_line":"            {\u0027callback_url\u0027: \u0027file:///path/to/the/wizzard\u0027},"},{"line_number":303,"context_line":"            headers\u003d{api_base.Version.string: str(api_v1.max_version())},"},{"line_number":304,"context_line":"            expect_errors\u003dTrue)"},{"line_number":305,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, response.status_int)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ed29761c_ad042849","line":302,"updated":"2024-06-04 17:33:39.000000000","message":"This test is *exactly* what I thought about when I saw this change 😊","commit_id":"88c45151fa0beea9cb9e218af632ab640074f65a"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"e5a9d5e3562ee665886397e4125741ea3eb6593c","unresolved":true,"context_lines":[{"line_number":299,"context_line":"            self.context)"},{"line_number":300,"context_line":"        response \u003d self.post_json("},{"line_number":301,"context_line":"            \u0027/heartbeat/%s\u0027 % node.uuid,"},{"line_number":302,"context_line":"            {\u0027callback_url\u0027: \u0027file:///path/to/the/wizzard\u0027},"},{"line_number":303,"context_line":"            headers\u003d{api_base.Version.string: str(api_v1.max_version())},"},{"line_number":304,"context_line":"            expect_errors\u003dTrue)"},{"line_number":305,"context_line":"        self.assertEqual(http_client.BAD_REQUEST, response.status_int)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4efb9f0b_7c06dced","line":302,"in_reply_to":"ed29761c_ad042849","updated":"2024-06-04 18:07:25.000000000","message":"Poor innocent wizzard 😄","commit_id":"88c45151fa0beea9cb9e218af632ab640074f65a"}]}
