code: def set_request(self, method=None, sub_url="", data=None, params=None,
                      proxies=None):
          
          self.method = method or self.method
          self.url = self.base_uri and (self.base_uri + sub_url) or sub_url
          self.params.update(params or {})
          self.proxies = proxies or self.proxies
          if self.params:
              self.url += '?' + '&'.join(
                  ['%s=%s' % (k, v) for k, v in self.params.items()])
          self.request_data = deepcopy(data)
          self._timestamps['setup'] = time.time()
          if isinstance(data, dict) and 'content-type' not in self.headers:
              self.headers['content-type'] = 'application/json'
              self.json = data  # don't change this user.post
          else:
              self.data = data
  
          if self.accepted_return is not None:
              self.headers['Accept'] = \
                  {'json': 'application/json', 'html': 'text/html'}[
                      self.accepted_return]
  
          self._stage = STAGE_SET
docs: :param method: str of the method of the api_call
          :param sub_url: str of the url after the uri
          :param data: dict of form data to be sent with the request
          :param params: dict of additional data to be sent as the request args
          :param proxies: str of the proxie to use
          :return: None