Встречается на 1% собеседований по Python
Какие методы нужно реализовать при реализации своего middleware
Для реализации middleware в Python (например, для веб-фреймворков вроде Django или FastAPI) нужно определить метод __call__ или __init__ + __call__, в зависимости от требований фреймворка.
Пример для ASGI (FastAPI, Starlette):
python
class CustomMiddleware:
def __init__(self, app):
self.app = app
text
async def __call__(self, scope, receive, send):
# До обработки запроса
response = await self.app(scope, receive, send)
# После обработки запроса
return responsetext
**Для Django:**
```python
class SimpleMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
# До view
response = self.get_response(request)
# После view
return responseКлючевые моменты:
__init__— инициализация (может приниматьappилиget_response).__call__— обработка запроса/ответа.- В ASGI
__call__должен быть асинхронным. - Middleware может модифицировать
request,responseилиscope.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы