lib/gitlab/paginated_response.rb in gitlab-4.14.1 vs lib/gitlab/paginated_response.rb in gitlab-4.15.0
- old
+ new
@@ -81,46 +81,47 @@
alias has_last_page? last_page?
def last_page
return nil if @client.nil? || !has_last_page?
- path = @links.last.sub(/#{@client.endpoint}/, '')
- @client.get(path)
+ @client.get(client_relative_path(@links.last))
end
def first_page?
!(@links.nil? || @links.first.nil?)
end
alias has_first_page? first_page?
def first_page
return nil if @client.nil? || !has_first_page?
- path = @links.first.sub(/#{@client.endpoint}/, '')
- @client.get(path)
+ @client.get(client_relative_path(@links.first))
end
def next_page?
!(@links.nil? || @links.next.nil?)
end
alias has_next_page? next_page?
def next_page
return nil if @client.nil? || !has_next_page?
- path = @links.next.sub(/#{@client.endpoint}/, '')
- @client.get(path)
+ @client.get(client_relative_path(@links.next))
end
def prev_page?
!(@links.nil? || @links.prev.nil?)
end
alias has_prev_page? prev_page?
def prev_page
return nil if @client.nil? || !has_prev_page?
- path = @links.prev.sub(/#{@client.endpoint}/, '')
- @client.get(path)
+ @client.get(client_relative_path(@links.prev))
+ end
+
+ def client_relative_path(link)
+ client_endpoint_path = URI.parse(@client.endpoint).request_uri # api/v4
+ URI.parse(link).request_uri.sub(client_endpoint_path, '')
end
end
end