main.py 843 B

1234567891011121314151617181920212223242526272829
  1. """Main FastAPI app instance declaration."""
  2. from fastapi import FastAPI
  3. from fastapi.middleware.cors import CORSMiddleware
  4. from fastapi.middleware.trustedhost import TrustedHostMiddleware
  5. from app.api.api import api_router
  6. from app.core import config
  7. app = FastAPI(
  8. title=config.settings.PROJECT_NAME,
  9. version=config.settings.VERSION,
  10. description=config.settings.DESCRIPTION,
  11. openapi_url="/openapi.json",
  12. docs_url="/",
  13. )
  14. app.include_router(api_router)
  15. # Sets all CORS enabled origins
  16. app.add_middleware(
  17. CORSMiddleware,
  18. allow_origins=[str(origin) for origin in config.settings.BACKEND_CORS_ORIGINS],
  19. allow_credentials=True,
  20. allow_methods=["*"],
  21. allow_headers=["*"],
  22. )
  23. # Guards against HTTP Host Header attacks
  24. app.add_middleware(TrustedHostMiddleware, allowed_hosts=config.settings.ALLOWED_HOSTS)