aboutsummaryrefslogtreecommitdiffstats
path: root/djangorestframework/parsers.py
diff options
context:
space:
mode:
authorTom Christie2011-06-29 14:31:30 -0700
committerTom Christie2011-06-29 14:31:30 -0700
commit019cb7f7d7919739285a8138354c1c8bcda8df1c (patch)
treeb14db066873c0f655b1aa6ce35dbb895b948b17e /djangorestframework/parsers.py
parentd714901a60e848e5f3c9f178551fc287aae40f96 (diff)
parentf6e4578656632c3a88b113c7349911a89a41bfea (diff)
downloaddjango-rest-framework-019cb7f7d7919739285a8138354c1c8bcda8df1c.tar.bz2
Merge pull request #33 from astraw/master
bugfix for failed multipart parse on empty request
Diffstat (limited to 'djangorestframework/parsers.py')
-rw-r--r--djangorestframework/parsers.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/djangorestframework/parsers.py b/djangorestframework/parsers.py
index 3346a26e..37882984 100644
--- a/djangorestframework/parsers.py
+++ b/djangorestframework/parsers.py
@@ -13,6 +13,7 @@ We need a method to be able to:
from django.http import QueryDict
from django.http.multipartparser import MultiPartParser as DjangoMultiPartParser
+from django.http.multipartparser import MultiPartParserError
from django.utils import simplejson as json
from djangorestframework import status
from djangorestframework.response import ErrorResponse
@@ -135,6 +136,10 @@ class MultiPartParser(BaseParser):
`files` will be a :class:`QueryDict` containing all the form files.
"""
upload_handlers = self.view.request._get_upload_handlers()
- django_parser = DjangoMultiPartParser(self.view.request.META, stream, upload_handlers)
+ try:
+ django_parser = DjangoMultiPartParser(self.view.request.META, stream, upload_handlers)
+ except MultiPartParserError, exc:
+ raise ErrorResponse(status.HTTP_400_BAD_REQUEST,
+ {'detail': 'multipart parse error - %s' % unicode(exc)})
return django_parser.parse()