From 2eeab616735e60d9d4370dd0ccce0621c3cd4bcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Mart=C3=ADn?= Date: Tue, 21 May 2013 13:59:48 +0200 Subject: [PATCH] Added custom middleware to remove spaces between tags and remove html comments. Only if DEBUG = False --- minecraftcodex/herobrine/middleware.py | 17 +++++++++++++++++ minecraftcodex/herobrine/settings.py | 1 + 2 files changed, 18 insertions(+) create mode 100644 minecraftcodex/herobrine/middleware.py diff --git a/minecraftcodex/herobrine/middleware.py b/minecraftcodex/herobrine/middleware.py new file mode 100644 index 0000000..a3b9b18 --- /dev/null +++ b/minecraftcodex/herobrine/middleware.py @@ -0,0 +1,17 @@ +from django.utils.html import strip_spaces_between_tags +from django.conf import settings +import re + + +class HTMLCleanerMiddleware(object): + def process_response(self, request, response): + if 'text/html' in response['Content-Type']: + content = response.content + if not settings.DEBUG: + # Remove spaces + content = strip_spaces_between_tags(content) + # Remove HTML comments + exp = re.compile('\') + content = exp.sub('', content) + response.content = content + return response diff --git a/minecraftcodex/herobrine/settings.py b/minecraftcodex/herobrine/settings.py index 54a3e7b..eed9138 100644 --- a/minecraftcodex/herobrine/settings.py +++ b/minecraftcodex/herobrine/settings.py @@ -101,6 +101,7 @@ MIDDLEWARE_CLASSES = ( 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', + 'herobrine.middleware.HTMLCleanerMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', )