Встречается на собеседованиях • сегодня
Какие методы нужно реализовать при реализации своего 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
интервью вопросы и ответы