From 9a2281167178999ad0472d3c9862af91c077322c Mon Sep 17 00:00:00 2001 From: imdark Date: Wed, 24 May 2017 17:56:49 -0700 Subject: [PATCH] modified to use a reader modified to use a reader since direct decoding is not supported --- rest_framework/parsers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rest_framework/parsers.py b/rest_framework/parsers.py index 1a4c24387..817efd2da 100644 --- a/rest_framework/parsers.py +++ b/rest_framework/parsers.py @@ -7,6 +7,7 @@ on the request, such as form content or json encoded data. from __future__ import unicode_literals import json +import codecs from django.conf import settings from django.core.files.uploadhandler import StopFutureHandlers @@ -22,7 +23,6 @@ from django.utils.six.moves.urllib import parse as urlparse from rest_framework import renderers from rest_framework.exceptions import ParseError -import codecs class DataAndFiles(object): @@ -62,7 +62,7 @@ class JSONParser(BaseParser): encoding = parser_context.get('encoding', settings.DEFAULT_CHARSET) try: - decoded_stream = codecs.decode(stream, encoding) + decoded_stream = codecs.getreader(encoding)(stream) return json.load(decoded_stream) except ValueError as exc: raise ParseError('JSON parse error - %s' % six.text_type(exc))