docs: def __stringify_body(self, request_or_response):
          ''' this method reference from httprunner '''
          headers = self.__track_info['{}_headers'.format(request_or_response)]
          body = self.__track_info.get('{}_body'.format(request_or_response))
      
          if isinstance(body, CaseInsensitiveDict):
              body = json.dumps(dict(body), ensure_ascii=False)
      
          elif isinstance(body, (dict, list)):
              body = json.dumps(body, indent=2, ensure_ascii=False)
      
          elif isinstance(body, bytes):
              resp_content_type = headers.get("Content-Type", "")
              try:
                  if "image" in resp_content_type:
                      self.__track_info["response_data_type"] = "image"
                      body = "data:{};base64,{}".format(
                          resp_content_type,
                          b64encode(body).decode('utf-8')
                      )
                  else:
                      body = escape(body.decode("utf-8"))
              except UnicodeDecodeError:
                  pass
      
          elif not isinstance(body, (basestring, numeric_types, Iterable)):
              # class instance, e.g. MultipartEncoder()
              body = repr(body)
      
          self.__track_info['{}_body'.format(request_or_response)] = body