from __future__ import annotations from typing import TYPE_CHECKING from ..request import Request from ..response import Response from .base import Middleware if TYPE_CHECKING: from src.logger import BoundLogger __all__ = ["LoggingMiddleware"] class LoggingMiddleware(Middleware): def handle(self, request: Request, *, logger: "BoundLogger", **match_info) -> Response: logger.info(f"Request: {request}") response = self.handler(request, logger=logger, **match_info) logger.info(f"Response: {response}") return response