Как работает Middleware
Python
Middle
Без компании
Как работает Middleware
Ответы
Middleware в Python (например, в Django или FastAPI) — это прослойка между запросом и обработчиком, которая может модифицировать запрос/ответ или выполнять дополнительные действия.
**Как работает:**
- Приходит запрос
- Middleware обрабатывает его **до** view (например, аутентификация)
- Вызывается view
- Middleware обрабатывает ответ **после** view (например, добавляет заголовки)
**Пример в FastAPI:**
```
from fastapi import FastAPI, Request
app = FastAPI()
@app.middleware("http")
async def add_process_time_header(request: Request, call_next):
# До обработки запроса
print("Before request")
response = await call_next(request) # Вызов view
# После обработки
response.headers["X-Custom-Header"] = "Example"
return response
```
**Ключевые особенности:**
- Выполняются в порядке регистрации
- Могут прервать запрос (например, если нет доступа)
- Работают как для входящих запросов, так и для исходящих ответов