diff --git a/app/logical/sources/strategies/art_station.rb b/app/logical/sources/strategies/art_station.rb index 6ab7445ca..1c4d32b56 100644 --- a/app/logical/sources/strategies/art_station.rb +++ b/app/logical/sources/strategies/art_station.rb @@ -147,7 +147,7 @@ module Sources::Strategies urls = urls.reverse end - chosen_url = urls.find { |url| http_exists?(url, headers) } + chosen_url = urls.find { |url| http_exists?(url) } chosen_url || url end end diff --git a/app/logical/sources/strategies/base.rb b/app/logical/sources/strategies/base.rb index fcc0ba6e6..e4f3d1a6a 100644 --- a/app/logical/sources/strategies/base.rb +++ b/app/logical/sources/strategies/base.rb @@ -288,9 +288,8 @@ module Sources to_h.to_json end - def http_exists?(url, headers) - res = HTTParty.head(url, Danbooru.config.httparty_options.deep_merge(headers: headers)) - res.success? + def http_exists?(url, headers = {}) + http.headers(headers).head(url).status.success? end # Convert commentary to dtext by stripping html tags. Sites can override diff --git a/app/logical/sources/strategies/tumblr.rb b/app/logical/sources/strategies/tumblr.rb index b82a1f77d..e3440c910 100644 --- a/app/logical/sources/strategies/tumblr.rb +++ b/app/logical/sources/strategies/tumblr.rb @@ -168,7 +168,7 @@ module Sources::Strategies end candidates.find do |candidate| - http_exists?(candidate, headers) + http_exists?(candidate) end end diff --git a/test/test_helpers/download_test_helper.rb b/test/test_helpers/download_test_helper.rb index eea711588..c3f70c75d 100644 --- a/test/test_helpers/download_test_helper.rb +++ b/test/test_helpers/download_test_helper.rb @@ -16,19 +16,4 @@ module DownloadTestHelper def assert_not_rewritten(source, referer = nil) assert_rewritten(source, source, referer) end - - def assert_http_exists(url, headers: {}) - res = HTTParty.head(url, Danbooru.config.httparty_options.deep_merge(headers: headers)) - assert_equal(true, res.success?) - end - - def assert_http_status(code, url, headers: {}) - res = HTTParty.head(url, Danbooru.config.httparty_options.deep_merge(headers: headers)) - assert_equal(code, res.code) - end - - def assert_http_size(size, url, headers: {}) - res = HTTParty.head(url, Danbooru.config.httparty_options.deep_merge(headers: headers)) - assert_equal(size, res.content_length) - end end diff --git a/test/unit/sources/nijie_test.rb b/test/unit/sources/nijie_test.rb index 7ca695c90..c4f7b88c8 100644 --- a/test/unit/sources/nijie_test.rb +++ b/test/unit/sources/nijie_test.rb @@ -43,7 +43,7 @@ module Sources should "get the image url" do assert_equal("https://pic.nijie.net/03/nijie_picture/728995_20170505014820_0.jpg", @site.image_url) - assert_http_size(132_555, @site.image_url) + assert_downloaded(132_555, @site.image_url) end should "get the canonical url" do @@ -53,7 +53,7 @@ module Sources should "get the preview url" do assert_equal("https://pic.nijie.net/03/__rs_l170x170/nijie_picture/728995_20170505014820_0.jpg", @site.preview_url) assert_equal([@site.preview_url], @site.preview_urls) - assert_http_exists(@site.preview_url) + assert_downloaded(132_555, @site.preview_url) end should "get the profile" do @@ -205,8 +205,8 @@ module Sources assert_equal("https://nijie.info/members.php?id=236014", site.profile_url) assert_nothing_raised { site.to_h } - assert_http_size(3619, site.image_url) - assert_http_exists(site.preview_url) + assert_downloaded(3619, site.image_url) + assert_downloaded(3619, site.preview_url) end end