+++ /dev/null
-from django.middleware.http import ConditionalGetMiddleware
-from django.middleware.common import CommonMiddleware
-
-def compat_middleware_factory(klass):
- """
- Class wrapper that only executes `process_response`
- if `streaming` is not set on the `HttpResponse` object.
- Django has a bad habbit of looking at the content,
- which will prematurely exhaust the data source if we're
- using generators or buffers.
- """
- class compatwrapper(klass):
- def process_response(self, req, resp):
- if not hasattr(resp, 'streaming'):
- return klass.process_response(self, req, resp)
- return resp
- return compatwrapper
-
-ConditionalMiddlewareCompatProxy = compat_middleware_factory(ConditionalGetMiddleware)
-CommonMiddlewareCompatProxy = compat_middleware_factory(CommonMiddleware)