INNER CODE UNIT · Python

create_app

center-for-threat-informed-defense/attack-flow · src/attack_flow_api/main.py:98

def create_app() -> FastAPI:
    settings = load_settings()
    app = FastAPI(title=settings.app_name, version=_resolve_package_version(), lifespan=lifespan)
    if settings.cors_enabled:
        app.add_middleware(
            CORSMiddleware,
            allow_origins=_split_csv(settings.cors_allow_origins),
            allow_credentials=settings.cors_allow_credentials,
            allow_methods=_split_csv(settings.cors_allow_methods) or ["*"],
            allow_headers=_split_csv(settings.cors_allow_headers) or ["*"],
        )
    app.add_middleware(RequestContextMiddleware)
    app.add_exception_handler(BadRequestError, bad_request_exception_handler)
    app.add_exception_handler(NotFoundError, not_found_exception_handler)
    app.add_exception_handler(ConflictError, conflict_exception_handler)
    app.add_exception_handler(PayloadTooLargeError, payload_too_large_exception_handler)
    app.add_exception_handler(Exception, unhandled_exception_handler)
    app.include_router(create_api_router(), prefix=settings.api_prefix)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…