##// END OF EJS Templates
Added a middleware to remove spaces between tags in HTML code
Added a middleware to remove spaces between tags in HTML code

File last commit:

r444:eb01481c default
r444:eb01481c default
Show More
middlewares.py
39 lines | 1.1 KiB | text/x-python | PythonLexer
from django.shortcuts import redirect
from boards import views, utils
from boards.models import Ban
from django.utils.html import strip_spaces_between_tags
from django.conf import settings
RESPONSE_CONTENT_TYPE = 'Content-Type'
TYPE_HTML = 'text/html'
class BanMiddleware:
"""
This is run before showing the thread. Banned users don't need to see
anything
"""
def process_view(self, request, view_func, view_args, view_kwargs):
if view_func != views.you_are_banned:
ip = utils.get_client_ip(request)
bans = Ban.objects.filter(ip=ip)
if bans.exists():
ban = bans[0]
if not ban.can_read:
return redirect(views.you_are_banned)
class MinifyHTMLMiddleware(object):
def process_response(self, request, response):
try:
compress_html = settings.COMPRESS_HTML
except AttributeError:
compress_html = False
if TYPE_HTML in response[RESPONSE_CONTENT_TYPE] and compress_html:
response.content = strip_spaces_between_tags(
response.content.strip())
return response