faraday 0.17.1 → 0.17.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16a3bb1447dde55604486c5a3a912281318ca8d0a211008623bcafb270a104ea
4
- data.tar.gz: 966aaefe77900eab1bd1687bf7ce57950e0dbc8fb8dcd7a062fddf6be4393c4f
3
+ metadata.gz: 56d15adebd24ca50e38ac12d74f518927ee757abe32ce2693aac8f6b3b2d5db6
4
+ data.tar.gz: 72247b6844e16989a3c186a95e226b8254da0dff82854922242add3535707a9f
5
5
  SHA512:
6
- metadata.gz: b016c9c3ea03bba4a9a40325f0494ef8a096e6c67d46ced7cb13da8e2bfeafca92107bc971f276ea883249219e13fa3f5f67e6c73d43c6ce66c6827108457e86
7
- data.tar.gz: 23e0a83830645895da998a9961d43747de7da1ee9428ea15a68776e1edb346f67c1b66d9403f3e4e0b5c40790e6adbf9bfa8dbb26db0cf79d4fafcb292c9e7ff
6
+ metadata.gz: '08df648fee5c02b6fd54d70615ee97ccc978d5a16471cbfc4790150189de39799e60bd67d45236645c79785062dc14aef36a0c516e847c7a43615e7147381aad'
7
+ data.tar.gz: de528b3a2c4a552f68cfb95814729018106146c5bc0861abfcbd45d4202036c9e7347f40dfe1703a27a939e1960e2019bae9293039a1550031a41124c27dfd7c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Faraday Changelog
2
2
 
3
+ ## v0.17.3
4
+
5
+ Fixes:
6
+
7
+ * Reverts changes in error classes hierarchy. #1092 (@iMacTia)
8
+ * Fix Ruby 1.9 syntax errors and improve Error class testing #1094 (@BanzaiMan,
9
+ @mrexox, @technoweenie)
10
+
11
+ Misc:
12
+
13
+ * Stops using `&Proc.new` for block forwarding. #1083 (@olleolleolle)
14
+ * Update CI to test against ruby 2.0-2.7 #1087, #1099 (@iMacTia, @olleolleolle,
15
+ @technoweenie)
16
+ * require FARADAY_DEPRECATE=warn to show Faraday v1.0 deprecation warnings
17
+ #1098 (@technoweenie)
18
+
3
19
  ## v0.17.1
4
20
 
5
21
  Final release before Faraday v1.0, with important fixes for Ruby 2.7.
@@ -7,7 +23,7 @@ Final release before Faraday v1.0, with important fixes for Ruby 2.7.
7
23
  Fixes:
8
24
 
9
25
  * RaiseError response middleware raises exception if HTTP client returns a nil
10
- status. (#1042)
26
+ status. #1042 (@jonnyom, @BobbyMcWho)
11
27
 
12
28
  Misc:
13
29
 
data/README.md CHANGED
@@ -31,6 +31,17 @@ Rack::Test, and a Test adapter for stubbing requests by hand.
31
31
 
32
32
  Available at [rubydoc.info](http://www.rubydoc.info/gems/faraday).
33
33
 
34
+ ## Faraday 1.0
35
+
36
+ Faraday 1.0 will ship soon! Faraday 0.17 will be the last 0.x release, except for serious bugs or security issues.
37
+ Faraday 1.0 is a major release, but it will be mostly backwards-compatible with 0.x, so we strongly encourage you
38
+ to use it on your next projects and/or consider to upgrade your existing ones.
39
+ Upgrading is simple:
40
+
41
+ * Checkout the new code from [`master`](https://github.com/lostisland/faraday) and the new [Documentation Website](https://lostisland.github.io/faraday/).
42
+ * If you're upgrading an existing project, check the [UPGRADING](https://github.com/lostisland/faraday/blob/master/UPGRADING.md) file.
43
+ * You can also enable upgrade warnings on apps with Faraday 0.x if you run them with `FARADAY_DEPRECATE=warn` or `FARADAY_DEPRECATE=1` in ENV.
44
+
34
45
  ## Usage
35
46
 
36
47
  ### Basic Use
@@ -11,6 +11,7 @@ module Faraday
11
11
  class NetHttp < Faraday::Adapter
12
12
  NET_HTTP_EXCEPTIONS = [
13
13
  IOError,
14
+ Errno::EADDRNOTAVAIL,
14
15
  Errno::ECONNABORTED,
15
16
  Errno::ECONNREFUSED,
16
17
  Errno::ECONNRESET,
@@ -10,7 +10,7 @@ module Faraday
10
10
  if Net::HTTP::Persistent.instance_method(:initialize).parameters.first == [:key, :name]
11
11
  options = {name: 'Faraday'}
12
12
  options[:pool_size] = @connection_options[:pool_size] if @connection_options.key?(:pool_size)
13
- Net::HTTP::Persistent.new(options)
13
+ Net::HTTP::Persistent.new(**options)
14
14
  else
15
15
  Net::HTTP::Persistent.new('Faraday')
16
16
  end
@@ -9,11 +9,13 @@ module Faraday
9
9
  module DeprecatedClass
10
10
  def self.proxy_class(origclass, ver = '1.0')
11
11
  proxy = Class.new(origclass) do
12
+ const_set("ORIG_CLASS", origclass)
13
+
12
14
  class << self
13
15
  extend Faraday::Deprecate
14
16
 
15
17
  def ===(other)
16
- other.is_a?(superclass) || super
18
+ (superclass == const_get("ORIG_CLASS") && other.is_a?(superclass)) || super
17
19
  end
18
20
  end
19
21
  end
@@ -46,11 +48,17 @@ module Faraday
46
48
  # end
47
49
  module Deprecate
48
50
  def self.skip # :nodoc:
49
- @skip ||= false
51
+ @skip ||= begin
52
+ case ENV['FARADAY_DEPRECATE'].to_s.downcase
53
+ when '1', 'warn' then :warn
54
+ else :skip
55
+ end
56
+ end
57
+ @skip == :skip
50
58
  end
51
59
 
52
60
  def self.skip=(value) # :nodoc:
53
- @skip = value
61
+ @skip = value ? :skip : :warn
54
62
  end
55
63
 
56
64
  # Temporarily turn off warnings. Intended for tests only.
data/lib/faraday/error.rb CHANGED
@@ -9,18 +9,9 @@ module Faraday
9
9
  attr_reader :response, :wrapped_exception
10
10
 
11
11
  def initialize(exc, response = nil)
12
- @wrapped_exception = nil
13
- @response = response
14
-
15
- if exc.respond_to?(:backtrace)
16
- super(exc.message)
17
- @wrapped_exception = exc
18
- elsif exc.respond_to?(:each_key)
19
- super("the server responded with status #{exc[:status]}")
20
- @response = exc
21
- else
22
- super(exc.to_s)
23
- end
12
+ @wrapped_exception = nil unless defined?(@wrapped_exception)
13
+ @response = nil unless defined?(@response)
14
+ super(exc_msg_and_response!(exc, response))
24
15
  end
25
16
 
26
17
  def backtrace
@@ -32,12 +23,44 @@ module Faraday
32
23
  end
33
24
 
34
25
  def inspect
35
- inner = +''
36
- inner << " wrapped=#{@wrapped_exception.inspect}" if @wrapped_exception
37
- inner << " response=#{@response.inspect}" if @response
38
- inner << " #{super}" if inner.empty?
26
+ inner = ''
27
+ inner += " wrapped=#{@wrapped_exception.inspect}" if @wrapped_exception
28
+ inner += " response=#{@response.inspect}" if @response
29
+ inner += " #{super}" if inner.empty?
39
30
  %(#<#{self.class}#{inner}>)
40
31
  end
32
+
33
+ protected
34
+
35
+ # Pulls out potential parent exception and response hash, storing them in
36
+ # instance variables.
37
+ # exc - Either an Exception, a string message, or a response hash.
38
+ # response - Hash
39
+ # :status - Optional integer HTTP response status
40
+ # :headers - String key/value hash of HTTP response header
41
+ # values.
42
+ # :body - Optional string HTTP response body.
43
+ #
44
+ # If a subclass has to call this, then it should pass a string message
45
+ # to `super`. See NilStatusError.
46
+ def exc_msg_and_response!(exc, response = nil)
47
+ if @response.nil? && @wrapped_exception.nil?
48
+ @wrapped_exception, msg, @response = exc_msg_and_response(exc, response)
49
+ return msg
50
+ end
51
+
52
+ exc.to_s
53
+ end
54
+
55
+ # Pulls out potential parent exception and response hash.
56
+ def exc_msg_and_response(exc, response = nil)
57
+ return [exc, exc.message, response] if exc.respond_to?(:backtrace)
58
+
59
+ return [nil, "the server responded with status #{exc[:status]}", exc] \
60
+ if exc.respond_to?(:each_key)
61
+
62
+ [nil, exc.to_s, response]
63
+ end
41
64
  end
42
65
 
43
66
  # Faraday client error class. Represents 4xx status responses.
@@ -77,7 +100,7 @@ module Faraday
77
100
  end
78
101
 
79
102
  # A unified client error for timeouts.
80
- class TimeoutError < ServerError
103
+ class TimeoutError < ClientError
81
104
  def initialize(exc = 'timeout', response = nil)
82
105
  super(exc, response)
83
106
  end
@@ -85,32 +108,48 @@ module Faraday
85
108
 
86
109
  # Raised by Faraday::Response::RaiseError in case of a nil status in response.
87
110
  class NilStatusError < ServerError
88
- def initialize(_exc, response: nil)
89
- message = 'http status could not be derived from the server response'
90
- super(message, response)
111
+ def initialize(exc, response = nil)
112
+ exc_msg_and_response!(exc, response)
113
+ @response = unwrap_resp!(@response)
114
+ super('http status could not be derived from the server response')
91
115
  end
116
+
117
+ private
118
+
119
+ extend Faraday::Deprecate
120
+
121
+ def unwrap_resp(resp)
122
+ if inner = (resp.keys.size == 1 && resp[:response])
123
+ return unwrap_resp(inner)
124
+ end
125
+
126
+ resp
127
+ end
128
+
129
+ alias_method :unwrap_resp!, :unwrap_resp
130
+ deprecate('unwrap_resp', nil, '1.0')
92
131
  end
93
132
 
94
133
  # A unified error for failed connections.
95
- class ConnectionFailed < Error
134
+ class ConnectionFailed < ClientError
96
135
  end
97
136
 
98
137
  # A unified client error for SSL errors.
99
- class SSLError < Error
138
+ class SSLError < ClientError
100
139
  end
101
140
 
102
141
  # Raised by FaradayMiddleware::ResponseMiddleware
103
- class ParsingError < Error
142
+ class ParsingError < ClientError
104
143
  end
105
144
 
106
145
  # Exception used to control the Retry middleware.
107
146
  #
108
147
  # @see Faraday::Request::Retry
109
- class RetriableResponse < Error
148
+ class RetriableResponse < ClientError
110
149
  end
111
150
 
112
- %i[ClientError ConnectionFailed ResourceNotFound
113
- ParsingError TimeoutError SSLError RetriableResponse].each do |const|
151
+ [:ClientError, :ConnectionFailed, :ResourceNotFound,
152
+ :ParsingError, :TimeoutError, :SSLError, :RetriableResponse].each do |const|
114
153
  Error.const_set(
115
154
  const,
116
155
  DeprecatedClass.proxy_class(Faraday.const_get(const))
@@ -162,8 +162,8 @@ module Faraday
162
162
  @attribute_options ||= {}
163
163
  end
164
164
 
165
- def self.memoized(key)
166
- memoized_attributes[key.to_sym] = Proc.new
165
+ def self.memoized(key, &block)
166
+ memoized_attributes[key.to_sym] = block
167
167
  class_eval <<-RUBY, __FILE__, __LINE__ + 1
168
168
  def #{key}() self[:#{key}]; end
169
169
  RUBY
@@ -49,10 +49,10 @@ module Faraday
49
49
  end
50
50
  end
51
51
 
52
- def initialize(handlers = [])
52
+ def initialize(handlers = [], &block)
53
53
  @handlers = handlers
54
54
  if block_given?
55
- build(&Proc.new)
55
+ build(&block)
56
56
  elsif @handlers.empty?
57
57
  # default stack, if nothing else is configured
58
58
  self.request :url_encoded
@@ -12,6 +12,8 @@ module Faraday
12
12
  class Request < Struct.new(:method, :path, :params, :headers, :body, :options)
13
13
  extend MiddlewareRegistry
14
14
 
15
+ alias_method :http_method, :method
16
+
15
17
  register_middleware File.expand_path('../request', __FILE__),
16
18
  :url_encoded => [:UrlEncoded, 'url_encoded'],
17
19
  :multipart => [:Multipart, 'multipart'],
@@ -14,7 +14,7 @@ module Faraday
14
14
  when ClientErrorStatuses
15
15
  raise Faraday::ClientError, response_values(env)
16
16
  when nil
17
- raise Faraday::NilStatusError, response: response_values(env)
17
+ raise Faraday::NilStatusError, response_values(env)
18
18
  end
19
19
  end
20
20
 
@@ -1,10 +1,15 @@
1
1
  begin
2
- require 'composite_io'
3
- require 'parts'
2
+ require 'multipart/post'
4
3
  require 'stringio'
5
4
  rescue LoadError
6
- $stderr.puts "Install the multipart-post gem."
7
- raise
5
+ begin
6
+ require 'composite_io'
7
+ require 'parts'
8
+ require 'stringio'
9
+ rescue LoadError
10
+ $stderr.puts "Install the multipart-post gem."
11
+ raise
12
+ end
8
13
  end
9
14
 
10
15
  module Faraday
@@ -62,6 +67,11 @@ module Faraday
62
67
  end
63
68
  end
64
69
 
65
- UploadIO = ::UploadIO
66
- Parts = ::Parts
70
+ if defined?(::Multipart::Post::UploadIO)
71
+ UploadIO = ::Multipart::Post::UploadIO
72
+ Parts = ::Multipart::Post::Parts
73
+ else
74
+ UploadIO = ::UploadIO
75
+ Parts = ::Parts
76
+ end
67
77
  end
data/lib/faraday.rb CHANGED
@@ -14,7 +14,7 @@ require 'forwardable'
14
14
  # conn.get '/'
15
15
  #
16
16
  module Faraday
17
- VERSION = "0.17.1"
17
+ VERSION = "0.17.6"
18
18
 
19
19
  class << self
20
20
  # Public: Gets or sets the root path that Faraday is being loaded from.
@@ -64,8 +64,7 @@ module Faraday
64
64
  # :params => {:page => 1}
65
65
  #
66
66
  # Returns a Faraday::Connection.
67
- def new(url = nil, options = nil)
68
- block = block_given? ? Proc.new : nil
67
+ def new(url = nil, options = nil, &block)
69
68
  options = options ? default_connection_options.merge(options) : default_connection_options
70
69
  Faraday::Connection.new(url, options, &block)
71
70
  end
@@ -56,6 +56,84 @@ RSpec.describe Faraday::DeprecatedClass do
56
56
  expect { raise SampleDeprecatedClass, nil }.to raise_error(SampleClass)
57
57
  end
58
58
 
59
+ describe 'match behavior' do
60
+ class SampleDeprecatedClassA < SampleDeprecatedClass; end
61
+ class SampleDeprecatedClassB < SampleDeprecatedClass; end
62
+
63
+ class SampleDeprecatedClassAX < SampleDeprecatedClassA; end
64
+
65
+ class SampleClassA < SampleClass; end
66
+
67
+ describe 'undeprecated class' do
68
+ it 'is === to instance of deprecated class' do
69
+ expect(SampleClass === SampleDeprecatedClass.new).to be true
70
+ end
71
+
72
+ it 'is === to instance of subclass of deprecated class' do
73
+ expect(SampleClass === SampleDeprecatedClassA.new).to be true
74
+ end
75
+
76
+ it 'is === to instance of subclass of subclass of deprecated class' do
77
+ expect(SampleClass === SampleDeprecatedClassAX.new).to be true
78
+ end
79
+ end
80
+
81
+ describe 'subclass of undeprecated class' do
82
+ it 'is not === to instance of undeprecated class' do
83
+ expect(SampleClassA === SampleClass.new).to be false
84
+ end
85
+
86
+ it 'is not === to instance of deprecated class' do
87
+ expect(SampleClassA === SampleDeprecatedClass.new).to be false
88
+ end
89
+ end
90
+
91
+ describe 'deprecated class' do
92
+ it 'is === to instance of undeprecated class' do
93
+ expect(SampleDeprecatedClass === SampleClass.new).to be true
94
+ end
95
+
96
+ it 'is === to instance of subclass of undeprecated class' do
97
+ expect(SampleDeprecatedClass === SampleClassA.new).to be true
98
+ end
99
+
100
+ it 'is === to instance of subclass of deprecated class' do
101
+ expect(SampleDeprecatedClass === SampleDeprecatedClassA.new).to be true
102
+ end
103
+
104
+ it 'is === to instance of subclass of subclass of deprecated class' do
105
+ expect(SampleDeprecatedClass === SampleDeprecatedClassAX.new).to be true
106
+ end
107
+ end
108
+
109
+ describe 'subclass of deprecated class' do
110
+ it 'is not === to instance of subclass of undeprecated class' do
111
+ expect(SampleDeprecatedClassA === SampleClass.new).to be false
112
+ end
113
+
114
+ it 'is not === to instance of another subclass of deprecated class' do
115
+ expect(SampleDeprecatedClassA === SampleDeprecatedClassB.new).to be false
116
+ end
117
+
118
+ it 'is === to instance of its subclass' do
119
+ expect(SampleDeprecatedClassA === SampleDeprecatedClassAX.new).to be true
120
+ end
121
+
122
+ it 'is === to instance of deprecated class' do
123
+ expect(SampleDeprecatedClass === SampleDeprecatedClassB.new).to be true
124
+ end
125
+ end
126
+
127
+ describe 'subclass of subclass of deprecated class' do
128
+ it 'is not === to instance of subclass of another subclass of deprecated class' do
129
+ expect(SampleDeprecatedClassAX === SampleDeprecatedClassB.new).to be false
130
+ end
131
+
132
+ it 'is not === to instance of its superclass' do
133
+ expect(SampleDeprecatedClassA === SampleDeprecatedClass.new).to be false
134
+ end
135
+ end
136
+ end
59
137
 
60
138
  def with_warn_squelching
61
139
  stderr_catcher = StringIO.new
@@ -14,7 +14,7 @@ RSpec.describe Faraday::Response::RaiseError do
14
14
  stub.get('conflict') { [409, { 'X-Reason' => 'because' }, 'keep looking'] }
15
15
  stub.get('unprocessable-entity') { [422, { 'X-Reason' => 'because' }, 'keep looking'] }
16
16
  stub.get('4xx') { [499, { 'X-Reason' => 'because' }, 'keep looking'] }
17
- stub.get('nil-status') { [nil, { 'X-Reason' => 'bailout' }, 'fail'] }
17
+ stub.get('nil-status') { [nil, { 'X-Reason' => 'nil' }, 'fail'] }
18
18
  stub.get('server-error') { [500, { 'X-Error' => 'bailout' }, 'fail'] }
19
19
  end
20
20
  end
@@ -28,6 +28,7 @@ RSpec.describe Faraday::Response::RaiseError do
28
28
  expect { conn.get('bad-request') }.to raise_error(Faraday::ClientError) do |ex|
29
29
  expect(ex.message).to eq('the server responded with status 400')
30
30
  expect(ex.response[:headers]['X-Reason']).to eq('because')
31
+ expect(ex.response[:status]).to eq(400)
31
32
  end
32
33
  end
33
34
 
@@ -35,6 +36,7 @@ RSpec.describe Faraday::Response::RaiseError do
35
36
  expect { conn.get('unauthorized') }.to raise_error(Faraday::ClientError) do |ex|
36
37
  expect(ex.message).to eq('the server responded with status 401')
37
38
  expect(ex.response[:headers]['X-Reason']).to eq('because')
39
+ expect(ex.response[:status]).to eq(401)
38
40
  end
39
41
  end
40
42
 
@@ -42,6 +44,7 @@ RSpec.describe Faraday::Response::RaiseError do
42
44
  expect { conn.get('forbidden') }.to raise_error(Faraday::ClientError) do |ex|
43
45
  expect(ex.message).to eq('the server responded with status 403')
44
46
  expect(ex.response[:headers]['X-Reason']).to eq('because')
47
+ expect(ex.response[:status]).to eq(403)
45
48
  end
46
49
  end
47
50
 
@@ -49,6 +52,7 @@ RSpec.describe Faraday::Response::RaiseError do
49
52
  expect { conn.get('not-found') }.to raise_error(Faraday::ResourceNotFound) do |ex|
50
53
  expect(ex.message).to eq('the server responded with status 404')
51
54
  expect(ex.response[:headers]['X-Reason']).to eq('because')
55
+ expect(ex.response[:status]).to eq(404)
52
56
  end
53
57
  end
54
58
 
@@ -56,6 +60,7 @@ RSpec.describe Faraday::Response::RaiseError do
56
60
  expect { conn.get('proxy-error') }.to raise_error(Faraday::ConnectionFailed) do |ex|
57
61
  expect(ex.message).to eq('407 "Proxy Authentication Required "')
58
62
  expect(ex.response[:headers]['X-Reason']).to eq('because')
63
+ expect(ex.response[:status]).to eq(407)
59
64
  end
60
65
  end
61
66
 
@@ -63,6 +68,7 @@ RSpec.describe Faraday::Response::RaiseError do
63
68
  expect { conn.get('conflict') }.to raise_error(Faraday::ClientError) do |ex|
64
69
  expect(ex.message).to eq('the server responded with status 409')
65
70
  expect(ex.response[:headers]['X-Reason']).to eq('because')
71
+ expect(ex.response[:status]).to eq(409)
66
72
  end
67
73
  end
68
74
 
@@ -70,12 +76,15 @@ RSpec.describe Faraday::Response::RaiseError do
70
76
  expect { conn.get('unprocessable-entity') }.to raise_error(Faraday::ClientError) do |ex|
71
77
  expect(ex.message).to eq('the server responded with status 422')
72
78
  expect(ex.response[:headers]['X-Reason']).to eq('because')
79
+ expect(ex.response[:status]).to eq(422)
73
80
  end
74
81
  end
75
82
 
76
83
  it 'raises Faraday::NilStatusError for nil status in response' do
77
84
  expect { conn.get('nil-status') }.to raise_error(Faraday::NilStatusError) do |ex|
78
85
  expect(ex.message).to eq('http status could not be derived from the server response')
86
+ expect(ex.response[:headers]['X-Reason']).to eq('nil')
87
+ expect(ex.response[:status]).to be_nil
79
88
  end
80
89
  end
81
90
 
@@ -83,6 +92,7 @@ RSpec.describe Faraday::Response::RaiseError do
83
92
  expect { conn.get('4xx') }.to raise_error(Faraday::ClientError) do |ex|
84
93
  expect(ex.message).to eq('the server responded with status 499')
85
94
  expect(ex.response[:headers]['X-Reason']).to eq('because')
95
+ expect(ex.response[:status]).to eq(499)
86
96
  end
87
97
  end
88
98
 
@@ -90,6 +100,7 @@ RSpec.describe Faraday::Response::RaiseError do
90
100
  expect { conn.get('server-error') }.to raise_error(Faraday::ClientError) do |ex|
91
101
  expect(ex.message).to eq('the server responded with status 500')
92
102
  expect(ex.response[:headers]['X-Error']).to eq('bailout')
103
+ expect(ex.response[:status]).to eq(500)
93
104
  end
94
105
  end
95
106
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'faraday'
4
+ Faraday::Deprecate.skip = false
4
5
 
5
6
  # This file was generated by the `rspec --init` command. Conventionally, all
6
7
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.1
4
+ version: 0.17.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - "@technoweenie"
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-11-27 00:00:00.000000000 Z
13
+ date: 2022-11-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: multipart-post
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  requirements: []
136
- rubygems_version: 3.0.3
136
+ rubygems_version: 3.3.7
137
137
  signing_key:
138
138
  specification_version: 4
139
139
  summary: HTTP/REST API client library.