summaryrefslogtreecommitdiff
path: root/django/core/handlers/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/core/handlers/base.py')
-rw-r--r--django/core/handlers/base.py10
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