diff options
| author | Tom Christie | 2011-06-29 14:31:30 -0700 |
|---|---|---|
| committer | Tom Christie | 2011-06-29 14:31:30 -0700 |
| commit | 019cb7f7d7919739285a8138354c1c8bcda8df1c (patch) | |
| tree | b14db066873c0f655b1aa6ce35dbb895b948b17e /djangorestframework/parsers.py | |
| parent | d714901a60e848e5f3c9f178551fc287aae40f96 (diff) | |
| parent | f6e4578656632c3a88b113c7349911a89a41bfea (diff) | |
| download | django-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.py | 7 |
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() |
