code: def http_list(self, path, query_data={}, as_list=None, **kwargs):
          
  
          # In case we want to change the default behavior at some point
          as_list = True if as_list is None else as_list
  
          get_all = kwargs.pop('all', False)
          url = self._build_url(path)
  
          if get_all is True:
              return list(GitlabList(self, url, query_data, **kwargs))
  
          if 'page' in kwargs or as_list is True:
              # pagination requested, we return a list
              return list(GitlabList(self, url, query_data, get_next=False,
                                     **kwargs))
  
          # No pagination, generator requested
          return GitlabList(self, url, query_data, **kwargs)
docs: Make a GET request to the Gitlab server for list-oriented queries.
  
          Args:
              path (str): Path or full URL to query ('/projects' or
                          'http://whatever/v4/api/projecs')
              query_data (dict): Data to send as query parameters
              **kwargs: Extra options to send to the server (e.g. sudo, page,
                        per_page)
  
          Returns:
              list: A list of the objects returned by the server. If `as_list` is
              False and no pagination-related arguments (`page`, `per_page`,
              `all`) are defined then a GitlabList object (generator) is returned
              instead. This object will make API calls when needed to fetch the
              next items from the server.
  
          Raises:
              GitlabHttpError: When the return code is not 2xx
              GitlabParsingError: If the json data could not be parsed