Raise on 404 during Webfinger

That's at least readable, return false just causes
silly follow up errors
This commit is contained in:
Jonne Haß 2014-09-20 13:47:52 +02:00
parent 4b754b51f9
commit 5ca1c1d295
2 changed files with 10 additions and 7 deletions

View file

@ -31,7 +31,9 @@ class Webfinger
Rails.logger.info("Getting: #{url} for #{account}") Rails.logger.info("Getting: #{url} for #{account}")
begin begin
res = Faraday.get(url) res = Faraday.get(url)
return false if res.status == 404 unless res.success?
raise "Failed to fetch #{url}: #{res.status}"
end
res.body res.body
rescue OpenSSL::SSL::SSLError => e rescue OpenSSL::SSL::SSLError => e
Rails.logger.info "Failed to fetch #{url}: SSL setup invalid" Rails.logger.info "Failed to fetch #{url}: SSL setup invalid"

View file

@ -73,13 +73,14 @@ describe Webfinger do
expect(a_request(:get, redirect_url)).to have_been_made expect(a_request(:get, redirect_url)).to have_been_made
end end
it 'returns false on 404' do it 'raises on 404' do
url ="https://bar.com/.well-known/host-meta" url ="https://bar.com/.well-known/host-meta"
stub_request(:get, url). stub_request(:get, url).
to_return(:status => 404, :body => nil) to_return(:status => 404, :body => nil)
expect(finger.get(url)).not_to eq(nil) expect {
expect(finger.get(url)).to eq(false) expect(finger.get(url)).to eq(false)
}.to raise_error
end end
end end