diff --git a/src/judas_server/web/web_server.py b/src/judas_server/web/web_server.py index c382928..5b99771 100644 --- a/src/judas_server/web/web_server.py +++ b/src/judas_server/web/web_server.py @@ -7,6 +7,7 @@ from typing import TYPE_CHECKING from flask import Flask from flask_login import LoginManager +from flask_socketio import SocketIO from judas_server.web.user import load_user @@ -37,6 +38,8 @@ class JudasWebServer: # extensions self.login_manager: LoginManager = LoginManager() + self.socketio: SocketIO = SocketIO(self.app, cors_allowed_origins="*") + self.configure_extensions() self.init_routes() @@ -50,13 +53,20 @@ class JudasWebServer: def init_routes(self) -> None: self.logger.debug("Initializing routes...") - from judas_server.web.routes import auth_bp, index_bp, panel_bp + from judas_server.web.routes import ( + auth_bp, + index_bp, + panel_bp, + api, + ) self.app.register_blueprint(index_bp) self.app.register_blueprint(auth_bp) self.app.register_blueprint(panel_bp) + self.app.register_blueprint(api.bp) + api.emit_polled_data(self.app, self.socketio) def run(self, host: str = "0.0.0.0", port: int = 5000) -> None: self.logger.info(f"Starting web server on {host}:{port}...") - self.app.run(host=host, port=port) + self.socketio.run(app=self.app, host=host, port=port) self.logger.info("Server stopped.")