def __init__( self, host: str, port: int, root_path: str, controller_name: str, node_id: str, http_middlewares: Optional[ List["starlette.middleware.Middleware"]] = None, ): # noqa: F821 configure_component_logger(component_name="http_proxy", component_id=node_id_to_ip_addr(node_id)) if http_middlewares is None: http_middlewares = [] self.host = host self.port = port self.root_path = root_path self.setup_complete = asyncio.Event() self.app = HTTPProxy(controller_name) self.wrapped_app = self.app for middleware in http_middlewares: self.wrapped_app = middleware.cls(self.wrapped_app, **middleware.options) # Start running the HTTP server on the event loop. # This task should be running forever. We track it in case of failure. self.running_task = asyncio.get_event_loop().create_task(self.run())
def test_node_id_to_ip_addr(): assert node_id_to_ip_addr("node:127.0.0.1-0") == "127.0.0.1" assert node_id_to_ip_addr("127.0.0.1-0") == "127.0.0.1" assert node_id_to_ip_addr("127.0.0.1") == "127.0.0.1" assert node_id_to_ip_addr("node:127.0.0.1") == "127.0.0.1"