Is there a reason for the middleware being old-style classes? If middleware was defined as Middleware(object) we could extend it like this without modifying Django's source:
class MyCacheMiddleware(CacheMiddleware):
def process_request(self, request):
if check_request(request):
request._cache_update_cache = False
return None
return super(MyCacheMiddleware, self).process_request(request)
Andreas

