Esempio n. 1
0
    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())
Esempio n. 2
0
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"