Files
matitos_news/app_urls/fetcher/middleware/favicon.py

24 lines
1.1 KiB
Python

from django.utils.deprecation import MiddlewareMixin
'''
class FaviconMiddleware(MiddlewareMixin):
def process_response(self, request, response):
if 'text/html' in response.get('Content-Type', '') and b'</head>' in response.content:
icon_link = b'<link rel="icon" type="image/png" href="/static/img/mate-icon.png">\n'
response.content = response.content.replace(b'</head>', icon_link + b'</head>')
return response
'''
class FaviconMiddleware(MiddlewareMixin):
def process_response(self, request, response):
if 'text/html' in response.get('Content-Type', '') and b'</head>' in response.content:
icon_link = (
b"<link rel='icon' href=\"data:image/svg+xml,"
b"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'>"
b"<text y='96' font-size='96'>\xf0\x9f\xa7\x89</text></svg>\">"
b"\n"
)
# (UTF-8 encoded 🧉 = \xf0\x9f\xa7\x89 in bytes)
response.content = response.content.replace(b'</head>', icon_link + b'</head>')
return response