code: def add(
          self,
          method=None,  # method or ``Response``
          url=None,
          body="",
          adding_headers=None,
          *args,
          **kwargs
      ):
          
          if isinstance(method, BaseResponse):
              self._matches.append(method)
              return
  
          if adding_headers is not None:
              kwargs.setdefault("headers", adding_headers)
  
          self._matches.append(Response(method=method, url=url, body=body, **kwargs))
docs: A basic request:
  
          >>> responses.add(responses.GET, 'http://example.com')
  
          You can also directly pass an object which implements the
          ``BaseResponse`` interface:
  
          >>> responses.add(Response(...))
  
          A JSON payload:
  
          >>> responses.add(
          >>>     method='GET',
          >>>     url='http://example.com',
          >>>     json={'foo': 'bar'},
          >>> )
  
          Custom headers:
  
          >>> responses.add(
          >>>     method='GET',
          >>>     url='http://example.com',
          >>>     headers={'X-Header': 'foo'},
          >>> )
  
  
          Strict query string matching:
  
          >>> responses.add(
          >>>     method='GET',
          >>>     url='http://example.com?foo=bar',
          >>>     match_querystring=True
          >>> )