ruby/rubygems · error · Gem::RemoteFetcher::FetchError
bad response #{response.message} #{response.code}
Error message
bad response #{response.message} #{response.code} What it means
Error "bad response #{response.message} #{response.code}" thrown in ruby/rubygems.
Source
Thrown at lib/rubygems/compact_index_client/http_fetcher.rb:45
def fetch(uri, headers, redirects_remaining)
response = @remote_fetcher.request(uri, Gem::Net::HTTP::Get) do |req|
headers.each {|name, value| req[name] = value }
end
case response
when Gem::Net::HTTPSuccess, Gem::Net::HTTPNotModified
response
when Gem::Net::HTTPMovedPermanently, Gem::Net::HTTPFound, Gem::Net::HTTPSeeOther,
Gem::Net::HTTPTemporaryRedirect, Gem::Net::HTTPPermanentRedirect
raise Gem::RemoteFetcher::FetchError.new("too many redirects", uri) if redirects_remaining.zero?
location = response["Location"]
raise Gem::RemoteFetcher::FetchError.new("redirecting but no redirect location was given", uri) unless location
fetch(uri + location, headers, redirects_remaining - 1)
when Gem::Net::HTTPRangeNotSatisfiable
raise Gem::RemoteFetcher::FetchError.new("bad response #{response.message} #{response.code}", uri) unless headers.key?("Range")
# The local cache is longer than the remote file, refetch it whole.
fetch(uri, headers.except("Range"), redirects_remaining)
else
raise Gem::RemoteFetcher::FetchError.new("bad response #{response.message} #{response.code}", uri)
end
end
end
end
View on GitHub (pinned to 86cbb817a3)
When it happens
Trigger: Thrown at lib/rubygems/compact_index_client/http_fetcher.rb:45 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruby/rubygems@86cbb817a3 (2026-08-23).
Data as JSON: /api/errors/c910affcda0a78e9.
Report an issue: GitHub.