A simple replacement for Django's default GZipMiddleware which breaks when trying to serve files or pass any kind of iterators to the HttpResponse object.
Simply replace GZipMiddleware with the provided middleware and set response.dontgzip = True when returning the response, and it will then be ignored by the middleware.
1 2 3 4 5 6 7 | from django.middleware.gzip import GZipMiddleware
class FixedGZipMiddleware(GZipMiddleware):
def process_response(self, request, response):
if hasattr(response, 'dontgzip'):
return response
return GZipMiddleware.process_response(self, request, response)
|
More like this
- get_object_or_none by azwdevops 1 month ago
- Mask sensitive data from logger by agusmakmun 3 months ago
- Template tag - list punctuation for a list of items by shapiromatron 1 year, 5 months ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 1 year, 5 months ago
- Serializer factory with Django Rest Framework by julio 2 years ago
Comments
Please login first before commenting.