Как вернуть код состояния 400 из пользовательского промежуточного ПО в django?
Я пытаюсь написать пользовательское промежуточное ПО, которое выполняет некоторую операцию над запросом для проверки его валидности и, если запрос недействителен, возвращает код состояния плохого запроса 400, даже не продвигаясь вперед.
from django.http import HttpResponseBadRequest
class VersionCheckMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
meta = request.META
client = meta.get('HTTP_X_APP_CLIENT', None)
if client == 'ios':
app_version = (
int(meta['HTTP_X_IOS_APP_VERSION'])
if meta.get('HTTP_X_IOS_APP_VERSION')
else int(meta.get('HTTP_X_APP_VERSION', 0))
)
if app_version < 30:
return HttpResponseBadRequest
elif client == 'android':
app_version = int(meta['HTTP_X_APP_VERSION'])
if app_version < 188:
return HttpResponseBadRequest
elif client == 'web':
app_version = int(
meta['HTTP_X_APP_PLATFORM_VERSION']
if meta.get("HTTP_X_APP_PLATFORM_VERSION")
else meta['HTTP_X_APP_VERSION']
)
if app_version < 188:
return HttpResponseBadRequest
response = self.get_response(request)
return response