code: def data(self):
          
          if not self.body:
              return self.body
          elif self.body is EMPTY:
              return EMPTY
          elif self.content_type and self.content_type.startswith('application/json'):
              try:
                  if isinstance(self.body, six.binary_type):
                      return json.loads(self.body.decode('utf-8'))
                  else:
                      return json.loads(self.body)
              except ValueError as e:
                  if isinstance(e, JSONDecodeError):
                      # this will only be True for Python3+
                      raise e
                  raise JSONDecodeError(str(e))
          elif self.content_type == 'application/x-www-form-urlencoded':
              return dict(urlparse.parse_qsl(self.body))
          else:
              raise NotImplementedError("No parser for content type")
docs: TODO: What is the right way to do this?