diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 605363e..855d92e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,15 +13,13 @@ jobs: fail-fast: false matrix: ruby: - - "2.4" - - "2.5" - - "2.6" - "2.7" - "3.0" - "3.1" - "3.2" - "3.3" - "3.4" + - "4.0" - "jruby-9.4" services: diff --git a/down.gemspec b/down.gemspec index a2092f3..2b38e8c 100644 --- a/down.gemspec +++ b/down.gemspec @@ -4,7 +4,7 @@ Gem::Specification.new do |spec| spec.name = "down" spec.version = Down::VERSION - spec.required_ruby_version = ">= 2.4" + spec.required_ruby_version = ">= 2.7" spec.summary = "Robust streaming downloads using Net::HTTP, http.rb or HTTPX." spec.homepage = "https://github.com/janko/down" @@ -16,12 +16,13 @@ Gem::Specification.new do |spec| spec.require_path = "lib" spec.add_dependency "addressable", "~> 2.8" + spec.add_dependency "base64", "~> 0.3" spec.add_development_dependency "minitest", "~> 5.8" spec.add_development_dependency "mocha", "~> 1.5" spec.add_development_dependency "rake" - spec.add_development_dependency "httpx", RUBY_VERSION >= "2.7" ? "~> 1.0" : "~> 0.24" - spec.add_development_dependency "http", RUBY_VERSION >= "2.5" ? "~> 5.0" : "~> 4.3" + spec.add_development_dependency "httpx", "~> 1.0", "< 1.4.4" + spec.add_development_dependency "http", "~> 5.0" spec.add_development_dependency "warning" spec.add_development_dependency "csv" end diff --git a/lib/down/net_http.rb b/lib/down/net_http.rb index 996182a..9e773f8 100644 --- a/lib/down/net_http.rb +++ b/lib/down/net_http.rb @@ -93,7 +93,7 @@ def download(url, *args, **options) uri.password = nil end - open_uri_file = open_uri(uri, open_uri_options, follows_remaining: max_redirects, auth_on_redirect: ) + open_uri_file = open_uri(uri, open_uri_options, follows_remaining: max_redirects, auth_on_redirect: auth_on_redirect) # Handle the fact that open-uri returns StringIOs for small files. extname = extension ? ".#{extension}" : File.extname(open_uri_file.base_uri.path) @@ -117,7 +117,7 @@ def open(url, *args, **options) # Create a Fiber that halts when response headers are received. request = Fiber.new do - net_http_request(uri, options, follows_remaining: max_redirects, auth_on_redirect:) do |response| + net_http_request(uri, options, follows_remaining: max_redirects, auth_on_redirect: auth_on_redirect) do |response| Fiber.yield response end end @@ -249,7 +249,7 @@ def net_http_request(uri, options, follows_remaining:, auth_on_redirect:, &block uri.password = nil unless auth_on_redirect end - net_http_request(location, options, follows_remaining: follows_remaining - 1, auth_on_redirect:, &block) + net_http_request(location, options, follows_remaining: follows_remaining - 1, auth_on_redirect: auth_on_redirect, &block) end end