http_process_time.py 386 B

1234567891011
  1. import time
  2. from starlette.middleware.base import BaseHTTPMiddleware
  3. class HTTPProcessTimeMiddleware(BaseHTTPMiddleware):
  4. async def dispatch(self, request, call_next):
  5. start_time = time.time()
  6. response = await call_next(request)
  7. process_time = time.time() - start_time
  8. response.headers["X-Process-Time"] = str(process_time)
  9. return response