CanineHQ/canine · error · Git::Client::Error

Failed to fetch repositories: #{response.body}

Error message

Failed to fetch repositories: #{response.body}

What it means

Error "Failed to fetch repositories: #{response.body}" thrown in CanineHQ/canine.

Source

Thrown at app/services/git/gitlab/client.rb:32

  def self.build_client(access_token:, api_base_url: nil)
    new(access_token:, api_base_url:)
  end

  def initialize(access_token:, repository_url: nil, api_base_url: nil)
    @access_token = access_token
    @repository_url = repository_url
    @api_base_url = api_base_url || "https://gitlab.com"
  end

  def repos(page: 1, per_page: 20)
    response = HTTParty.get(
      "#{gitlab_api_base}/projects",
      headers: { "Authorization" => "Bearer #{access_token}" },
      query: { membership: true, page:, per_page:, order_by: "last_activity_at" }
    )
    unless response.success?
      raise Git::Client::Error, "Failed to fetch repositories: #{response.body}"
    end

    response.map { |repo| GitlabRepository.new(repo) }
  end

  def search_repos(query)
    response = HTTParty.get(
      "#{gitlab_api_base}/projects",
      headers: { "Authorization" => "Bearer #{access_token}" },
      query: { membership: true, search: query, order_by: "last_activity_at" }
    )
    unless response.success?
      raise Git::Client::Error, "Failed to search repositories: #{response.body}"
    end

    response.map { |repo| GitlabRepository.new(repo) }
  end

View on GitHub (pinned to ba4ee3968d)

When it happens

Trigger: Thrown at app/services/git/gitlab/client.rb:32 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of CanineHQ/canine@ba4ee3968d (2026-08-23). Data as JSON: /api/errors/46393db549c1cfc6. Report an issue: GitHub.