code: def get_docs(r_session, url, encoder=None, headers=None, **params):
      
      keys_list = params.pop('keys', None)
      keys = None
      if keys_list is not None:
          keys = json.dumps({'keys': keys_list}, cls=encoder)
      f_params = python_to_couch(params)
      resp = None
      if keys is not None:
          # If we're using POST we are sending JSON so add the header
          if headers is None:
              headers = {}
          headers['Content-Type'] = 'application/json'
          resp = r_session.post(url, headers=headers, params=f_params, data=keys)
      else:
          resp = r_session.get(url, headers=headers, params=f_params)
      resp.raise_for_status()
      return resp
docs: Provides a helper for functions that require GET or POST requests
      with a JSON, text, or raw response containing documents.
  
      :param r_session: Authentication session from the client
      :param str url: URL containing the endpoint
      :param JSONEncoder encoder: Custom encoder from the client
      :param dict headers: Optional HTTP Headers to send with the request
  
      :returns: Raw response content from the specified endpoint