Встречается на собеседованиях • сегодня

Как реализуешь собственный middleware

Для реализации middleware в Python (например, для веб-фреймворков вроде Django или FastAPI) нужно создать функцию или класс, который обрабатывает запрос и передаёт управление следующему middleware или обработчику.

Пример для FastAPI:

python
from fastapi import Request, Response

async def custom_middleware(request: Request, call_next):
    # До обработки запроса
    print("Before request")
    
    response = await call_next(request)
    
    # После обработки запроса
    print("After request")
    return response

Добавление middleware в приложение:

python
from fastapi import FastAPI

app = FastAPI()
app.middleware("http")(custom_middleware)

Ключевые моменты:

  1. Middleware получает запрос (request) и функцию call_next для передачи управления дальше.
  2. Можно модифицировать запрос/ответ (например, добавлять заголовки).
  3. В Django middleware — это класс с методами process_request и process_response.

Пример для Django:

python
class CustomMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        # До view
        response = self.get_response(request)
        # После view
        return response
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы