ripgrep_wasm 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b2cecf649bbb67e17109c6a368898b8aa036800961105dbd558191dd4ec5572
4
- data.tar.gz: 3565f9f98ac34d4c5fa79a0442166a09a6b3384b83f1e78410bd68abf94667c1
3
+ metadata.gz: ade14affaa9879e22b275d826bda26bd6ac7568de5be8f9c2d9d68681da29ca7
4
+ data.tar.gz: a42f0b354a15a2b9a9825c1dc8d9b59e0c03638fa0616fcfe5aae1d2357f79ce
5
5
  SHA512:
6
- metadata.gz: 51dc1c74814dc460ebecc8e00b539dc41a374b88eb576dc439a15fd7f33ceb92412c8237e0c5caf6d286eb4dfbc5443b4b17111011fb2f5c732656a060cce31e
7
- data.tar.gz: d4b4f371a071cc039449270ac1b481422b4d3aeea0bcb2b61c87b3ad7af3412c2fbca9f9d2e6619d22a582af29147ec8bbc3d45196c6fd8e0a34354ab6c71b5e
6
+ metadata.gz: b8dd478dc238b8cc4a4bd8d4b8c3818b53086c9550691db2de02f7e320e19d76e59c9117c92f9282df3219c15a2c8b5889bf7cdcf3712b0acc5665a216773849
7
+ data.tar.gz: dcb7c2befbc25df7cbb2d8e35da14c7b8df8311c495b4fd4a44ea4a7f402e67b7ee4ad9102e4d8645dfa769c51b982d0726e5fa901bae42ef37387c7cf514db0
@@ -89,24 +89,36 @@ module RipgrepWasm
89
89
  end
90
90
 
91
91
  download_uri = URI(asset['browser_download_url'])
92
- download_http = Net::HTTP.new(download_uri.host, download_uri.port)
93
- download_http.use_ssl = true
94
- download_http.read_timeout = 300
95
-
96
- download_request = Net::HTTP::Get.new(download_uri)
97
- download_request['User-Agent'] = 'ripgrep-wasm-ruby-downloader'
98
- download_request['Accept'] = 'application/octet-stream'
92
+ max_redirects = 10
93
+ redirects = 0
99
94
 
100
95
  File.open(target, 'wb') do |file|
101
- download_http.request(download_request) do |dl_response|
102
- case dl_response.code
103
- when '200'
104
- dl_response.read_body do |chunk|
105
- file.write(chunk)
96
+ loop do
97
+ download_http = Net::HTTP.new(download_uri.host, download_uri.port)
98
+ download_http.use_ssl = (download_uri.scheme == 'https')
99
+ download_http.read_timeout = 300
100
+
101
+ download_request = Net::HTTP::Get.new(download_uri)
102
+ download_request['User-Agent'] = 'ripgrep-wasm-ruby-downloader'
103
+ download_request['Accept'] = 'application/octet-stream'
104
+
105
+ download_http.request(download_request) do |dl_response|
106
+ case dl_response
107
+ when Net::HTTPRedirection
108
+ redirects += 1
109
+ raise "Too many redirects" if redirects > max_redirects
110
+ download_uri = URI(dl_response['location'])
111
+ next
112
+ when Net::HTTPSuccess
113
+ dl_response.read_body do |chunk|
114
+ file.write(chunk)
115
+ end
116
+ else
117
+ raise "Failed to download asset: #{dl_response.code}"
106
118
  end
107
- else
108
- raise "Failed to download asset: #{dl_response.code}"
109
119
  end
120
+
121
+ break
110
122
  end
111
123
  end
112
124
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RipgrepWasm
4
- VERSION = '1.0.1'
4
+ VERSION = '1.0.2'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ripgrep_wasm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Himpens