aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/request.py
diff options
context:
space:
mode:
authorXavier Ordoquy2012-11-23 01:12:33 +0100
committerXavier Ordoquy2012-11-23 01:12:33 +0100
commite348ee92552aab51290dfe6b256ad03b8d62e6f9 (patch)
tree05133c0020290b9f607869cfa7ded1bcb384413e /rest_framework/request.py
parentb68263fb652172c5dd74bb7a1c99f0c1230d76bc (diff)
downloaddjango-rest-framework-e348ee92552aab51290dfe6b256ad03b8d62e6f9.tar.bz2
52 tests passing. Refactored a few string / byte io.
Diffstat (limited to 'rest_framework/request.py')
-rw-r--r--rest_framework/request.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/rest_framework/request.py b/rest_framework/request.py
index d0c4ded6..05424f21 100644
--- a/rest_framework/request.py
+++ b/rest_framework/request.py
@@ -9,7 +9,8 @@ The wrapped request then offers a richer API, in particular :
- full support of PUT method, including support for file uploads
- form overloading of HTTP method, content type and content
"""
-from rest_framework.compat import StringIO
+import six
+from rest_framework.compat import BytesIO
from django.http.multipartparser import parse_header
from rest_framework import exceptions
@@ -20,7 +21,7 @@ def is_form_media_type(media_type):
"""
Return True if the media type is a valid form media type.
"""
- base_media_type, params = parse_header(media_type.encode('utf8'))
+ base_media_type, params = parse_header(media_type.encode('iso-8859-1'))
return (base_media_type == 'application/x-www-form-urlencoded' or
base_media_type == 'multipart/form-data')
@@ -216,7 +217,7 @@ class Request(object):
elif hasattr(self._request, 'read'):
self._stream = self._request
else:
- self._stream = StringIO(self.raw_post_data)
+ self._stream = BytesIO(self.raw_post_data)
def _perform_form_overloading(self):
"""
@@ -251,7 +252,7 @@ class Request(object):
self._CONTENT_PARAM in self._data and
self._CONTENTTYPE_PARAM in self._data):
self._content_type = self._data[self._CONTENTTYPE_PARAM]
- self._stream = StringIO(self._data[self._CONTENT_PARAM])
+ self._stream = BytesIO(self._data[self._CONTENT_PARAM].encode('iso-8859-1'))
self._data, self._files = (Empty, Empty)
def _parse(self):