rename Fetcher to HttpClient

don't use the same classname twice
This commit is contained in:
Benjamin Neff 2016-03-13 15:08:59 +01:00
parent d83b6f14f5
commit 176425f881
6 changed files with 16 additions and 16 deletions

View file

@ -5,7 +5,7 @@ require "diaspora_federation/properties_dsl"
require "diaspora_federation/entity" require "diaspora_federation/entity"
require "diaspora_federation/validators" require "diaspora_federation/validators"
require "diaspora_federation/fetcher" require "diaspora_federation/http_client"
require "diaspora_federation/entities" require "diaspora_federation/entities"

View file

@ -40,7 +40,7 @@ module DiasporaFederation
def get(url, http_fallback=false) def get(url, http_fallback=false)
logger.info "Fetching #{url} for #{diaspora_id}" logger.info "Fetching #{url} for #{diaspora_id}"
response = Fetcher.get(url) response = HttpClient.get(url)
raise "Failed to fetch #{url}: #{response.status}" unless response.success? raise "Failed to fetch #{url}: #{response.status}" unless response.success?
response.body response.body
rescue => e rescue => e

View file

@ -8,7 +8,7 @@ module DiasporaFederation
# @param [String] guid guid of the entity to fetch # @param [String] guid guid of the entity to fetch
def self.fetch_public(author, entity_type, guid) def self.fetch_public(author, entity_type, guid)
url = DiasporaFederation.callbacks.trigger(:fetch_person_url_to, author, "/fetch/#{entity_type}/#{guid}") url = DiasporaFederation.callbacks.trigger(:fetch_person_url_to, author, "/fetch/#{entity_type}/#{guid}")
response = DiasporaFederation::Fetcher.get(url) response = HttpClient.get(url)
raise "Failed to fetch #{url}: #{response.status}" unless response.success? raise "Failed to fetch #{url}: #{response.status}" unless response.success?
magic_env = Nokogiri::XML::Document.parse(response.body).root magic_env = Nokogiri::XML::Document.parse(response.body).root

View file

@ -2,11 +2,11 @@ require "faraday"
require "faraday_middleware/response/follow_redirects" require "faraday_middleware/response/follow_redirects"
module DiasporaFederation module DiasporaFederation
# A wrapper for {https://github.com/lostisland/faraday Faraday} used for # A wrapper for {https://github.com/lostisland/faraday Faraday}.
# fetching
# #
# @see Discovery::Discovery # @see Discovery::Discovery
class Fetcher # @see Federation::Fetcher
class HttpClient
# Perform a GET request # Perform a GET request
# #
# @param [String] uri the URI # @param [String] uri the URI

View file

@ -59,7 +59,7 @@ module DiasporaFederation
end end
it "raises NotFetchable if connection refused" do it "raises NotFetchable if connection refused" do
expect(DiasporaFederation::Fetcher).to receive(:get).with( expect(HttpClient).to receive(:get).with(
"https://example.org/fetch/post/#{post.guid}" "https://example.org/fetch/post/#{post.guid}"
).and_raise(Faraday::ConnectionFailed, "Couldn't connect to server") ).and_raise(Faraday::ConnectionFailed, "Couldn't connect to server")

View file

@ -1,11 +1,11 @@
module DiasporaFederation module DiasporaFederation
describe Fetcher do describe HttpClient do
describe ".get" do describe ".get" do
it "gets the url" do it "gets the url" do
stub_request(:get, "http://www.example.com") stub_request(:get, "http://www.example.com")
.to_return(body: "foobar", status: 200) .to_return(body: "foobar", status: 200)
response = Fetcher.get("http://www.example.com") response = HttpClient.get("http://www.example.com")
expect(response.body).to eq("foobar") expect(response.body).to eq("foobar")
end end
@ -15,7 +15,7 @@ module DiasporaFederation
stub_request(:get, "http://www.example.com/redirected") stub_request(:get, "http://www.example.com/redirected")
.to_return(body: "foobar", status: 200) .to_return(body: "foobar", status: 200)
response = Fetcher.get("http://www.example.com") response = HttpClient.get("http://www.example.com")
expect(response.body).to eq("foobar") expect(response.body).to eq("foobar")
end end
@ -24,32 +24,32 @@ module DiasporaFederation
.to_return(status: 302, headers: {"Location" => "http://www.example.com"}).times(4) .to_return(status: 302, headers: {"Location" => "http://www.example.com"}).times(4)
.to_return(status: 200) .to_return(status: 200)
Fetcher.get("http://www.example.com") HttpClient.get("http://www.example.com")
end end
it "follows redirects not more than 4 times" do it "follows redirects not more than 4 times" do
stub_request(:get, "http://www.example.com") stub_request(:get, "http://www.example.com")
.to_return(status: 302, headers: {"Location" => "http://www.example.com"}) .to_return(status: 302, headers: {"Location" => "http://www.example.com"})
expect { Fetcher.get("http://www.example.com") }.to raise_error FaradayMiddleware::RedirectLimitReached expect { HttpClient.get("http://www.example.com") }.to raise_error FaradayMiddleware::RedirectLimitReached
end end
it "uses the gem name as User-Agent" do it "uses the gem name as User-Agent" do
stub_request(:get, "http://www.example.com") stub_request(:get, "http://www.example.com")
.with(headers: {"User-Agent" => "DiasporaFederation/#{DiasporaFederation::VERSION}"}) .with(headers: {"User-Agent" => "DiasporaFederation/#{DiasporaFederation::VERSION}"})
Fetcher.get("http://www.example.com") HttpClient.get("http://www.example.com")
end end
end end
describe ".connection" do describe ".connection" do
it "returns a new connection every time" do it "returns a new connection every time" do
expect(Fetcher.connection).to be_a Faraday::Connection expect(HttpClient.connection).to be_a Faraday::Connection
end end
it "returns a new connection every time" do it "returns a new connection every time" do
connection1 = Fetcher.connection connection1 = HttpClient.connection
expect(Fetcher.connection).to_not be(connection1) expect(HttpClient.connection).to_not be(connection1)
end end
end end
end end