diff --git a/src/app.py b/src/app.py index 9fc5591..0c3bd40 100644 --- a/src/app.py +++ b/src/app.py @@ -1,6 +1,7 @@ from gevent import monkey monkey.patch_all() +from werkzeug.serving import run_simple from flask_cors import CORS from pymongo import MongoClient @@ -31,4 +32,12 @@ else: if __name__ == '__main__': #app.run(debug=True) - socketio.run(app, host=Config.APP_HOST, debug=False) + #socketio.run(app, host=Config.APP_HOST, debug=False) + run_simple( + Config.APP_HOST, + 5000, + socketio.run_handler(app), + use_reloader=False, + use_debugger=False, + use_evalex=False + ) \ No newline at end of file diff --git a/src/infra/server.py b/src/infra/server.py index 8838373..aaeea4d 100644 --- a/src/infra/server.py +++ b/src/infra/server.py @@ -1,7 +1,21 @@ -from flask import Flask +from flask import Flask, request from flask_socketio import SocketIO from flask_jwt_extended import JWTManager app = Flask(__name__) -socketio = SocketIO(app, async_mode='gevent', cors_allowed_origins="*") -jwt = JWTManager(app) \ No newline at end of file +jwt = JWTManager(app) + +@app.before_request +def handle_preflight(): + if request.method == "OPTIONS": + response = app.make_default_options_response() + headers = { + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', + 'Access-Control-Allow-Headers': 'Content-Type, Authorization' + } + for k, v in headers.items(): + response.headers[k] = v + return response + +socketio = SocketIO(app, async_mode='gevent', cors_allowed_origins="*") \ No newline at end of file