diff options
Diffstat (limited to 'django/core/handlers/base.py')
-rw-r--r-- | django/core/handlers/base.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/django/core/handlers/base.py b/django/core/handlers/base.py index 121ff59bc3..30843bf7f7 100644 --- a/django/core/handlers/base.py +++ b/django/core/handlers/base.py @@ -10,6 +10,7 @@ from django.core import urlresolvers from django.core import signals from django.core.exceptions import MiddlewareNotUsed, PermissionDenied, SuspiciousOperation from django.db import connections, transaction +from django.http.multipartparser import MultiPartParserError from django.utils.encoding import force_text from django.utils.module_loading import import_string from django.utils import six @@ -176,6 +177,15 @@ class BaseHandler(object): }) response = self.get_exception_response(request, resolver, 403) + except MultiPartParserError: + logger.warning( + 'Bad request (Unable to parse request body): %s', request.path, + extra={ + 'status_code': 400, + 'request': request + }) + response = self.get_exception_response(request, resolver, 400) + except SuspiciousOperation as e: # The request logger receives events for any problematic request # The security logger receives events for all SuspiciousOperations |