Как добавить промежуточное ПО перед запуском приложения в FastAPI?Python

Программы на Python
Anonymous
Как добавить промежуточное ПО перед запуском приложения в FastAPI?

Сообщение Anonymous »

Используя события Lifespan и промежуточное ПО, я хотел бы добавить промежуточное ПО внутри asynccontextmanager. Это будет выглядеть так:

Код: Выделить всё

@asynccontextmanager
async def lifespan(app: FastAPI):
if some_condition:
@app.middleware("http")
async def my_middleware(request: Request, call_next):
response = await call_next(request)
return response
yield
pass

app = FastAPI(lifespan=lifespan)
но я получаю сообщение об ошибке RuntimeError: невозможно добавить промежуточное ПО после запуска приложения. Но в начале Lifespan Events упоминается, что:

Вы можете определить логику (код), которая должна выполняться перед
приложение запускается
. Это означает, что этот код будет выполнен
один раз, до того, как приложение начнет получать запросы.

Что мне следует сделать? делать сейчас?

Подробнее здесь: https://stackoverflow.com/questions/782 ... in-fastapi

Вернуться в «Python»