Performance: Creating custom middleware
This affects the request-response cycle speed and server processing time, impacting how fast pages start loading.
Jump into concepts and practice - no test required
class FastMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): # Minimal processing, no blocking calls response = self.get_response(request) return response
class SlowMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): import time time.sleep(1) # Simulate slow processing response = self.get_response(request) return response
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Heavy blocking middleware | 0 (server-side) | 0 (client-side) | 0 (client-side) | [X] Bad |
| Lightweight middleware | 0 (server-side) | 0 (client-side) | 0 (client-side) | [OK] Good |
class SimpleMiddleware:
def __init__(self, get_response):
self.get_response = get_response
print('Middleware initialized')
def __call__(self, request):
print('Before view')
response = self.get_response(request)
print('After view')
return response
class MyMiddleware:
def __init__(self):
pass
def __call__(self, request):
response = self.get_response(request)
return response