docs: def with_headers(self, headers=None, **params):
          """
          Add headers to the request.   
          
          :param headers: A dict, or a list of key, value pairs
          :param params: A dict of key value pairs   
          """        
          if isinstance(headers, (tuple, list)):
              headers = dict(headers)
  
          if params:
              if isinstance(headers, dict):
                  headers.update(params)
              elif headers is None:
                  headers = params
  
          self._headers.update(headers)
          return self