diff --git a/lib/diaspora_federation.rb b/lib/diaspora_federation.rb index 592e844..1563793 100644 --- a/lib/diaspora_federation.rb +++ b/lib/diaspora_federation.rb @@ -5,7 +5,7 @@ require "diaspora_federation/properties_dsl" require "diaspora_federation/entity" require "diaspora_federation/validators" -require "diaspora_federation/fetcher" +require "diaspora_federation/http_client" require "diaspora_federation/entities" diff --git a/lib/diaspora_federation/discovery/discovery.rb b/lib/diaspora_federation/discovery/discovery.rb index 5693adc..c14c329 100644 --- a/lib/diaspora_federation/discovery/discovery.rb +++ b/lib/diaspora_federation/discovery/discovery.rb @@ -40,7 +40,7 @@ module DiasporaFederation def get(url, http_fallback=false) 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? response.body rescue => e diff --git a/lib/diaspora_federation/federation/fetcher.rb b/lib/diaspora_federation/federation/fetcher.rb index 2deb9b0..4501edb 100644 --- a/lib/diaspora_federation/federation/fetcher.rb +++ b/lib/diaspora_federation/federation/fetcher.rb @@ -8,7 +8,7 @@ module DiasporaFederation # @param [String] guid guid of the entity to fetch def self.fetch_public(author, 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? magic_env = Nokogiri::XML::Document.parse(response.body).root diff --git a/lib/diaspora_federation/fetcher.rb b/lib/diaspora_federation/http_client.rb similarity index 95% rename from lib/diaspora_federation/fetcher.rb rename to lib/diaspora_federation/http_client.rb index a0531f9..3e5e735 100644 --- a/lib/diaspora_federation/fetcher.rb +++ b/lib/diaspora_federation/http_client.rb @@ -2,11 +2,11 @@ require "faraday" require "faraday_middleware/response/follow_redirects" module DiasporaFederation - # A wrapper for {https://github.com/lostisland/faraday Faraday} used for - # fetching + # A wrapper for {https://github.com/lostisland/faraday Faraday}. # # @see Discovery::Discovery - class Fetcher + # @see Federation::Fetcher + class HttpClient # Perform a GET request # # @param [String] uri the URI diff --git a/spec/lib/diaspora_federation/federation/fetcher_spec.rb b/spec/lib/diaspora_federation/federation/fetcher_spec.rb index 2972a46..d9bfe6b 100644 --- a/spec/lib/diaspora_federation/federation/fetcher_spec.rb +++ b/spec/lib/diaspora_federation/federation/fetcher_spec.rb @@ -59,7 +59,7 @@ module DiasporaFederation end 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}" ).and_raise(Faraday::ConnectionFailed, "Couldn't connect to server") diff --git a/spec/lib/diaspora_federation/fetcher_spec.rb b/spec/lib/diaspora_federation/http_client_spec.rb similarity index 72% rename from spec/lib/diaspora_federation/fetcher_spec.rb rename to spec/lib/diaspora_federation/http_client_spec.rb index a84d819..00efe91 100644 --- a/spec/lib/diaspora_federation/fetcher_spec.rb +++ b/spec/lib/diaspora_federation/http_client_spec.rb @@ -1,11 +1,11 @@ module DiasporaFederation - describe Fetcher do + describe HttpClient do describe ".get" do it "gets the url" do stub_request(:get, "http://www.example.com") .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") end @@ -15,7 +15,7 @@ module DiasporaFederation stub_request(:get, "http://www.example.com/redirected") .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") end @@ -24,32 +24,32 @@ module DiasporaFederation .to_return(status: 302, headers: {"Location" => "http://www.example.com"}).times(4) .to_return(status: 200) - Fetcher.get("http://www.example.com") + HttpClient.get("http://www.example.com") end it "follows redirects not more than 4 times" do stub_request(:get, "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 it "uses the gem name as User-Agent" do stub_request(:get, "http://www.example.com") .with(headers: {"User-Agent" => "DiasporaFederation/#{DiasporaFederation::VERSION}"}) - Fetcher.get("http://www.example.com") + HttpClient.get("http://www.example.com") end end describe ".connection" 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 it "returns a new connection every time" do - connection1 = Fetcher.connection - expect(Fetcher.connection).to_not be(connection1) + connection1 = HttpClient.connection + expect(HttpClient.connection).to_not be(connection1) end end end