INNER CODE UNIT · Python
create_fastapi_application
dev-lu/osint_toolkit · backend/main.py:113
def create_fastapi_application() -> FastAPI:
"""Create and configure FastAPI application instance"""
config = get_fastapi_config()
app = FastAPI(lifespan=lifespan, **config)
cors_config = get_cors_config()
app.add_middleware(GZipMiddleware, minimum_size=1000)
app.add_middleware(TrustedHostMiddleware, allowed_hosts=settings.api.trusted_hosts)
app.add_middleware(CORSMiddleware, **cors_config)
app.add_middleware(SecurityHeadersMiddleware)
app.add_middleware(RequestBodyLimitMiddleware)
app.add_middleware(RequestIdMiddleware)
app.state.limiter = limiter
app.add_exception_handler(RateLimitExceeded, _rate_limit_exceeded_handler)
register_exception_handlers(app)
register_all_routers(app)