app_provider.py 1018 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import logging
  2. from fastapi.middleware.cors import CORSMiddleware
  3. from app.providers.middleware.http_process_time import HTTPProcessTimeMiddleware
  4. from app.providers.middleware.unhandled_exception_handler import UnhandledExceptionHandlingMiddleware
  5. from app.providers.database import redis_client
  6. from config.config import settings
  7. def register(app):
  8. app.debug = settings.DEBUG
  9. app.title = settings.NAME
  10. add_global_middleware(app)
  11. @app.on_event("startup")
  12. def startup():
  13. # create_db_and_tables()
  14. pass
  15. @app.on_event("shutdown")
  16. def shutdown():
  17. if redis_client:
  18. redis_client.close()
  19. logging.info("Application shutdown")
  20. def add_global_middleware(app):
  21. app.add_middleware(UnhandledExceptionHandlingMiddleware)
  22. app.add_middleware(
  23. CORSMiddleware,
  24. allow_origins=["*"],
  25. allow_credentials=True,
  26. allow_methods=["*"],
  27. allow_headers=["*"],
  28. )
  29. app.add_middleware(HTTPProcessTimeMiddleware)