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', )