in lib/connectors/gitlab/extractor.rb [27:52]
def yield_projects_page(next_page_link = nil)
query_params = {
:pagination => :keyset,
:per_page => PAGE_SIZE,
:order_by => :id,
:sort => :desc,
:owned => @owned_only
}
if next_page_link.present?
if (matcher = /(https?:[^>]*)/.match(next_page_link))
clean_query = URI.parse(matcher.captures[0]).query
query_params = Rack::Utils.parse_query(clean_query)
else
raise "Next page link has unexpected format: #{next_page_link}"
end
end
response = client.get('projects', query_params)
projects_chunk = JSON.parse(response.body)
yield projects_chunk
response.headers['Link'] || nil
end