def get_request_data(self, default=None):
        c_type, c_data = parse_header(self.request.META.get('CONTENT_TYPE', ''))
        encoding = self.request.encoding or settings.DEFAULT_CHARSET

        if c_type in self.CONTENT_TYPES:
            if not self.request.body:
                return default
            return self.loads(self.request.body.decode(encoding))

        if self.request.method in ('PUT', 'PATCH'):
            if c_type == 'application/x-www-form-urlencoded':
                return QueryDict(self.request.body, encoding=encoding)
            elif c_type == 'multipart/form-data':
                return parse_multipart(self.request.body, c_data)

        return self.request.POST
Retrieve data from request
dataset/ETHPy150Open funkybob/django-nap/nap/utils/__init__.py/JsonMixin.get_request_data