Performance: Process request and process response
MEDIUM IMPACT
This affects how quickly the server handles incoming requests and sends back responses, impacting page load speed and interaction responsiveness.
import asyncio def middleware(get_response): async def middleware_func(request): # Offload heavy task asynchronously asyncio.create_task(do_heavy_task_async()) response = await get_response(request) # Lightweight response modification response.content = fast_modification(response.content) return response return middleware_func
def middleware(get_response): def middleware_func(request): # Heavy synchronous processing before response do_heavy_task() response = get_response(request) # Modifying response with expensive operations response.content = expensive_modification(response.content) return response return middleware_func
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Synchronous heavy processing in middleware | N/A (server-side) | N/A | Delays browser paint start | [X] Bad |
| Asynchronous lightweight processing in middleware | N/A (server-side) | N/A | Faster browser paint start | [OK] Good |