Performance: Why middleware processes requests globally
MEDIUM IMPACT
Middleware affects the time it takes for every request to be processed before reaching route handlers, impacting overall request latency.
from fastapi import FastAPI app = FastAPI() @app.middleware("http") async def fast_middleware(request, call_next): # Non-blocking async operation example response = await call_next(request) return response
from fastapi import FastAPI app = FastAPI() @app.middleware("http") async def slow_middleware(request, call_next): import time time.sleep(0.1) # blocking delay response = await call_next(request) return response
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Blocking middleware with sleep | N/A | N/A | Delays response arrival | [X] Bad |
| Non-blocking async middleware | N/A | N/A | Minimal delay on response | [OK] Good |