minio_runner 1.0.0 → 1.0.1

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: 8e785504aa2d88d0ef104472b3bc00e7a882e9ad46e7e862d12f198e31667fb8
4
- data.tar.gz: f0ea74f0a594fd648d8efd8892b4a86de26b6489d9ef42c1ccd7f983574d43ae
3
+ metadata.gz: ce1a05760ce2ec7932d48b99d21d94b8a4d9c7e88521b82aa36a1845bd934f96
4
+ data.tar.gz: 2e0dc3f55ed0f9a78a93d00f5ad98648e61b32ab470966e9662d76f416ac5f89
5
5
  SHA512:
6
- metadata.gz: db4529f6f6c12eed93eae73ca20e71e10f3ae16b97cf783c51cc0bc99438140ec621b990ee03d6e4983275c3824e0ea2a4b8efa33f93875f4fade4a0a06a24b3
7
- data.tar.gz: 4476e51029332f13d496d1ccb25fd70b1c0cd3129b2b716589c97e02b30a2ab8577fb633cd6c3dcbb597f09c648aad3ccf4cb58c1c8faf1805d655f94d00045c
6
+ metadata.gz: 0d778019e25efa46ec83b05f5ca63f59c52f9f5de005363a1feebc1765593fd21191f0ff6f80c767ec785d120e69bb9b0b3a0c7b9be6c56c0f287b1f51d1f1c1
7
+ data.tar.gz: a6d5f557141f850dd40435aaf8f664f9361066a24552dd7809c994f2ca9fe9fa879add876f65e5de54b63048385f4d6b861a95b4930d0202882e2aa9812dd0ed
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- minio_runner (1.0.0)
4
+ minio_runner (1.0.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -60,7 +60,7 @@ GEM
60
60
  byebug (~> 12.0)
61
61
  pry (>= 0.13, < 0.16)
62
62
  racc (1.8.1)
63
- rack (3.1.13)
63
+ rack (3.1.18)
64
64
  rainbow (3.1.1)
65
65
  rake (13.2.1)
66
66
  regexp_parser (2.10.0)
@@ -20,8 +20,10 @@ module MinioRunner
20
20
  127.0.0.1 minio.local testbucket.minio.local
21
21
  END
22
22
 
23
+ MAX_REDIRECTS = 5
24
+
23
25
  class << self
24
- def get(url)
26
+ def get(url, redirect_limit: MAX_REDIRECTS)
25
27
  MinioRunner.logger.debug("Making network call to #{url}")
26
28
  uri = URI(url)
27
29
  response = nil
@@ -33,7 +35,7 @@ module MinioRunner
33
35
  uri.port,
34
36
  use_ssl: uri.scheme == "https",
35
37
  open_timeout: MinioRunner::System.mac? ? 10 : 3,
36
- ) { |http| response = http.get(uri.path) }
38
+ ) { |http| response = http.get(uri.request_uri) }
37
39
  rescue SocketError, Net::OpenTimeout => err
38
40
  MinioRunner.logger.debug(
39
41
  "Connection error when checking minio server health: #{err.message}",
@@ -50,6 +52,11 @@ module MinioRunner
50
52
  when Net::HTTPSuccess
51
53
  log_time_error(request_start_time)
52
54
  response.body
55
+ when Net::HTTPRedirection
56
+ raise MinioRunner::Network::NetworkError.new("Too many redirects for #{url}") if redirect_limit <= 0
57
+ location = response["location"]
58
+ MinioRunner.logger.debug("Following redirect to #{location}")
59
+ get(location, redirect_limit: redirect_limit - 1)
53
60
  else
54
61
  raise MinioRunner::Network::NetworkError.new(
55
62
  "#{response.class::EXCEPTION_TYPE}: #{response.code} \"#{response.message}\" with #{url}",
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MinioRunner
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minio_runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Brennan
@@ -178,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
178
  - !ruby/object:Gem::Version
179
179
  version: '0'
180
180
  requirements: []
181
- rubygems_version: 3.6.7
181
+ rubygems_version: 3.6.9
182
182
  specification_version: 4
183
183
  summary: Manages local minio binary installs
184
184
  test_files: []