From 4bcf816726f0402675d54695674ea77fffc2f785 Mon Sep 17 00:00:00 2001 From: Sirawat S <21076861+leossok@users.noreply.github.com> Date: Mon, 27 Jun 2022 07:50:51 +0700 Subject: [PATCH] Add url_path config option (#709) Add new --url_path command line arg and corresponding ROS param to the websocket process. This argument allows for specifying an alternative path other than the root path when running the websocket process. --- rosbridge_server/scripts/rosbridge_websocket.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/rosbridge_server/scripts/rosbridge_websocket.py b/rosbridge_server/scripts/rosbridge_websocket.py index 572e47a28..bbec7f6be 100755 --- a/rosbridge_server/scripts/rosbridge_websocket.py +++ b/rosbridge_server/scripts/rosbridge_websocket.py @@ -124,6 +124,15 @@ def __init__(self): print("--address argument provided without a value.") sys.exit(-1) + url_path = self.declare_parameter("url_path", "/").value + if "--url_path" in sys.argv: + idx = sys.argv.index("--url_path") + 1 + if idx < len(sys.argv): + url_path = str(sys.argv[idx]) + else: + print("--url_path argument provided without a value.") + sys.exit(-1) + retry_startup_delay = self.declare_parameter("retry_startup_delay", 2.0).value # seconds. if "--retry_startup_delay" in sys.argv: idx = sys.argv.index("--retry_startup_delay") + 1 @@ -137,9 +146,11 @@ def __init__(self): # Done with parameter handling # ################################################## - application = Application( - [(r"/", RosbridgeWebSocket), (r"", RosbridgeWebSocket)], **tornado_settings - ) + handlers = [(r"/", RosbridgeWebSocket), (r"", RosbridgeWebSocket)] + if url_path != "/": + handlers = [(rf"{url_path}", RosbridgeWebSocket)] + + application = Application(handlers, **tornado_settings) connected = False while not connected and self.context.ok():