|
@@ -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
|