diff --git a/rest_framework/parsers.py b/rest_framework/parsers.py index 64262b3b6..b16df4f11 100644 --- a/rest_framework/parsers.py +++ b/rest_framework/parsers.py @@ -95,10 +95,9 @@ class MessagePackParser(BaseParser): `files` will always be `None`. """ try: - return msgpack.Unpacker( - stream, + return msgpack.unpackb(stream, use_list=True, - object_hook=self._decode_object).unpack() + object_hook=self._decode_object) except Exception, exc: raise ParseError('MessagePack parse error - %s' % unicode(exc)) diff --git a/rest_framework/tests/renderers.py b/rest_framework/tests/renderers.py index 185bebfdb..0b8317e6b 100644 --- a/rest_framework/tests/renderers.py +++ b/rest_framework/tests/renderers.py @@ -351,7 +351,7 @@ if msgpack: parser = MessagePackParser() content = renderer.render(obj, 'application/msgpack') - data = parser.parse(StringIO(content)) + data = parser.parse(content) self.assertEquals(obj, data)