2880673e27
It's not actually used by clients but it's there and can be used. It works for receiving msgpack messages, but doesn't yet work for sending because some of the types will be converted to base64.
15 lines
436 B
Python
15 lines
436 B
Python
import msgpack
|
|
|
|
from rest_framework.parsers import BaseParser
|
|
from rest_framework.exceptions import ParseError
|
|
|
|
|
|
class MessagePackParser(BaseParser):
|
|
media_type = 'application/msgpack'
|
|
|
|
def parse(self, stream, media_type=None, parser_context=None):
|
|
try:
|
|
return msgpack.unpackb(stream.read(), raw=False)
|
|
except Exception as exc:
|
|
raise ParseError('MessagePack parse error - %s' % str(exc))
|