Files
Student-Management-System-I…/app/middleware.py
T
2025-04-20 17:46:30 +05:45

30 lines
996 B
Python

from django.http import HttpResponse
from django.template.loader import render_to_string
class HTTP505Middleware:
"""
Middleware to handle HTTP 505 errors (HTTP Version Not Supported)
"""
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
# Process the request and get the response
response = self.get_response(request)
return response
def process_exception(self, request, exception):
# Check if exception is related to HTTP version
if hasattr(exception, "status_code") and exception.status_code == 505:
# Render our 505 template
context = {
"request_path": request.path,
"request_method": request.method,
"user": request.user,
}
response_content = render_to_string("505.html", context, request)
return HttpResponse(response_content, status=505)
return None