# app.py from logging_handlers.DatabaseLogHandler import DatabaseLogHandler from urllib.parse import urlparse from api import limiter from flask import Flask, request, url_for from flask_cors import CORS import api import env_provider import db import logging logger = logging.getLogger(__name__) db_handler = DatabaseLogHandler(application="backend") formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') db_handler.setFormatter(formatter) logger.addHandler(db_handler) logger.setLevel(logging.INFO) try: db.create_all() except Exception as e: print(f"db not ready {e}") app = Flask(__name__) app.config['SERVER_NAME'] = 'localhost:5000' app.secret_key = env_provider.SESSION_SECRET_KEY CORS(app, resources={r"/api/*": {"origins": [ "https://login.hangman-lab.top", "https://git.hangman-lab.top", "http://127.0.0.1:3000", "http://localhost:3000", ]}}) limiter.init_app(app) api.register_blueprints(app) @app.before_request def log_request(): if request.path.startswith("/api/log"): return logger.info(f"Request received: {request.method} {request.path} from {request.remote_addr}") if __name__ == '__main__': #logger.info("Starting app") app.run(host='0.0.0.0', port=5000)