mauth-client 6.2.0 → 6.4.0

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.
data/lib/mauth/faraday.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mauth/middleware'
2
4
  require 'mauth/request_and_response'
3
5
 
@@ -31,6 +33,7 @@ module MAuth
31
33
  # passed to a Mauth::Client for signing
32
34
  class Request < MAuth::Request
33
35
  attr_reader :request_env
36
+
34
37
  def initialize(request_env)
35
38
  @request_env = request_env
36
39
  end
@@ -59,6 +62,7 @@ module MAuth
59
62
  class Response < MAuth::Response
60
63
  include Signed
61
64
  attr_reader :response_env
65
+
62
66
  def initialize(response_env)
63
67
  @response_env = response_env
64
68
  end
@@ -86,7 +90,7 @@ module MAuth
86
90
 
87
91
  # add MAuth-Client's user-agent to a request
88
92
  class MAuthClientUserAgent
89
- def initialize(app, agent_base = "Mauth-Client")
93
+ def initialize(app, agent_base = 'Mauth-Client')
90
94
  @app = app
91
95
  @agent_base = agent_base
92
96
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mauth/core_ext'
2
4
  module MAuth
3
5
  # base class for middleware, common to both Faraday and Rack
@@ -15,9 +17,9 @@ module MAuth
15
17
  # this method may be overloaded to provide more flexibility in providing a MAuth::Client
16
18
  def mauth_client
17
19
  require 'mauth/client'
18
- # @_mauth_client ivar only used here for caching; should not be used by other methods, in
20
+ # @mauth_client ivar only used here for caching; should not be used by other methods, in
19
21
  # order that overloading #mauth_client will work
20
- @_mauth_client ||= @config['mauth_client'] || MAuth::Client.new(@config)
22
+ @mauth_client ||= @config['mauth_client'] || MAuth::Client.new(@config)
21
23
  end
22
24
  end
23
25
  end
data/lib/mauth/proxy.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mauth/client'
2
4
  require 'faraday'
3
5
  require 'rack'
@@ -7,6 +9,8 @@ module MAuth
7
9
  # proxy them to a target URI. the responses from the target may be authenticated, with MAuth
8
10
  # (and are by default).
9
11
  class Proxy
12
+ EXCLUDED_RESPONSE_HEADERS = %w[Content-Length Transfer-Encoding].map(&:downcase)
13
+
10
14
  # target_uri is the base relative to which requests are made.
11
15
  #
12
16
  # options:
@@ -38,12 +42,11 @@ module MAuth
38
42
  end
39
43
  end
40
44
  @persistent_headers = {}
41
- if options[:headers]
42
- options[:headers].each do |cur|
43
- raise "Headers must be in the format of [key]:[value]" unless cur.include?(':')
44
- key, throw_away, value = cur.partition(':')
45
- @persistent_headers[key.strip] = value.strip
46
- end
45
+ options[:headers]&.each do |cur|
46
+ raise 'Headers must be in the format of [key]:[value]' unless cur.include?(':')
47
+
48
+ key, _throw_away, value = cur.partition(':')
49
+ @persistent_headers[key.strip] = value.strip
47
50
  end
48
51
  end
49
52
 
@@ -56,20 +59,20 @@ module MAuth
56
59
  request_headers = {}
57
60
  request_env.each do |k, v|
58
61
  if k.start_with?('HTTP_') && k != 'HTTP_HOST'
59
- name = k.sub(/\AHTTP_/, '')
62
+ name = k.delete_prefix('HTTP_')
60
63
  request_headers[name] = v
61
64
  end
62
65
  end
63
66
  request_headers.merge!(@persistent_headers)
64
67
  if @browser_proxy
65
- target_uri = request_env["REQUEST_URI"]
68
+ target_uri = request_env['REQUEST_URI']
66
69
  connection = @target_uris.any? { |u| target_uri.start_with? u } ? @signer_connection : @unsigned_connection
67
70
  response = connection.run_request(request_method, target_uri, request_body, request_headers)
68
71
  else
69
72
  response = @connection.run_request(request_method, request.fullpath, request_body, request_headers)
70
73
  end
71
74
  response_headers = response.headers.reject do |name, _value|
72
- %w(Content-Length Transfer-Encoding).map(&:downcase).include?(name.downcase)
75
+ EXCLUDED_RESPONSE_HEADERS.include?(name.downcase)
73
76
  end
74
77
  [response.status, response_headers, [response.body || '']]
75
78
  end
data/lib/mauth/rack.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mauth/middleware'
2
4
  require 'mauth/request_and_response'
3
5
  require 'rack/utils'
@@ -41,7 +43,7 @@ module MAuth
41
43
  # discards the body if REQUEST_METHOD is HEAD. sets the Content-Length.
42
44
  def handle_head(env)
43
45
  status, headers, body = *yield
44
- headers["Content-Length"] = body.map(&:bytesize).inject(0, &:+).to_s
46
+ headers['Content-Length'] = body.sum(&:bytesize).to_s
45
47
  [status, headers, env['REQUEST_METHOD'].casecmp('head').zero? ? [] : body]
46
48
  end
47
49
 
@@ -75,7 +77,8 @@ module MAuth
75
77
  handle_head(env) do
76
78
  body = {
77
79
  'type' => 'errors:mauth:missing_v2',
78
- 'title' => 'This service requires mAuth v2 mcc-authentication header. Upgrade your mAuth library and configure it properly.'
80
+ 'title' => 'This service requires mAuth v2 mcc-authentication header. Upgrade your mAuth library and ' \
81
+ 'configure it properly.'
79
82
  }
80
83
  [401, { 'Content-Type' => 'application/json' }, [JSON.pretty_generate(body)]]
81
84
  end
@@ -85,7 +88,7 @@ module MAuth
85
88
  # same as MAuth::Rack::RequestAuthenticator, but does not authenticate /app_status
86
89
  class RequestAuthenticatorNoAppStatus < RequestAuthenticator
87
90
  def should_authenticate?(env)
88
- env['PATH_INFO'] != "/app_status" && super
91
+ env['PATH_INFO'] != '/app_status' && super
89
92
  end
90
93
  end
91
94
 
@@ -95,9 +98,10 @@ module MAuth
95
98
  unsigned_response = @app.call(env)
96
99
 
97
100
  method =
98
- if env['mauth.protocol_version'] == 2
101
+ case env['mauth.protocol_version']
102
+ when 2
99
103
  :signed_v2
100
- elsif env['mauth.protocol_version'] == 1
104
+ when 1
101
105
  :signed_v1
102
106
  else
103
107
  # if no protocol was supplied then use `signed` which either signs
@@ -115,6 +119,7 @@ module MAuth
115
119
  class Request < MAuth::Request
116
120
  include Signed
117
121
  attr_reader :env
122
+
118
123
  def initialize(env)
119
124
  @env = env
120
125
  end
@@ -166,7 +171,10 @@ module MAuth
166
171
  def attributes_for_signing
167
172
  @attributes_for_signing ||= begin
168
173
  body = ''
169
- @body.each { |part| body << part } # note: rack only requires #each be defined on the body, so not using map or inject
174
+ # NOTE: rack only requires #each be defined on the body, so not using map or inject
175
+ @body.each do |part|
176
+ body << part
177
+ end
170
178
  { status_code: @status.to_i, body: body }
171
179
  end
172
180
  end
@@ -1,4 +1,6 @@
1
- require 'digest'
1
+ # frozen_string_literal: true
2
+
3
+ require 'openssl'
2
4
  require 'addressable'
3
5
 
4
6
  module MAuth
@@ -31,11 +33,15 @@ module MAuth
31
33
  # current_seconds_since_epoch
32
34
  def string_to_sign_v1(more_attributes)
33
35
  attributes_for_signing = self.attributes_for_signing.merge(more_attributes)
34
- missing_attributes = self.class::SIGNATURE_COMPONENTS.select { |key| !attributes_for_signing.key?(key) || attributes_for_signing[key].nil? }
36
+ missing_attributes = self.class::SIGNATURE_COMPONENTS.select do |key|
37
+ !attributes_for_signing.key?(key) || attributes_for_signing[key].nil?
38
+ end
35
39
  missing_attributes.delete(:body) # body may be omitted
36
40
  if missing_attributes.any?
37
- raise(UnableToSignError, "Missing required attributes to sign: #{missing_attributes.inspect}\non object to sign: #{inspect}")
41
+ raise(UnableToSignError,
42
+ "Missing required attributes to sign: #{missing_attributes.inspect}\non object to sign: #{inspect}")
38
43
  end
44
+
39
45
  self.class::SIGNATURE_COMPONENTS.map { |k| attributes_for_signing[k].to_s }.join("\n")
40
46
  end
41
47
 
@@ -56,23 +62,25 @@ module MAuth
56
62
  # app_uuid + <LF> +
57
63
  # current_seconds_since_epoch
58
64
  def string_to_sign_v2(override_attrs)
59
- attrs_with_overrides = self.attributes_for_signing.merge(override_attrs)
65
+ attrs_with_overrides = attributes_for_signing.merge(override_attrs)
60
66
 
61
67
  # memoization of body_digest to avoid hashing three times when we call
62
68
  # string_to_sign_v2 three times in client#signature_valid_v2!
63
69
  # note that if :body is nil we hash an empty string ('')
64
- attrs_with_overrides[:body_digest] ||= Digest::SHA512.hexdigest(attrs_with_overrides[:body] || '')
65
- attrs_with_overrides[:encoded_query_params] = unescape_encode_query_string(attrs_with_overrides[:query_string] || '')
70
+ attrs_with_overrides[:body_digest] ||= OpenSSL::Digest.hexdigest('SHA512', attrs_with_overrides[:body] || '')
71
+ attrs_with_overrides[:encoded_query_params] =
72
+ unescape_encode_query_string(attrs_with_overrides[:query_string] || '')
66
73
  attrs_with_overrides[:request_url] = normalize_path(attrs_with_overrides[:request_url])
67
74
 
68
75
  missing_attributes = self.class::SIGNATURE_COMPONENTS_V2.reject do |key|
69
- attrs_with_overrides.dig(key)
76
+ attrs_with_overrides[key]
70
77
  end
71
78
 
72
79
  missing_attributes.delete(:body_digest) # body may be omitted
73
80
  missing_attributes.delete(:encoded_query_params) # query_string may be omitted
74
81
  if missing_attributes.any?
75
- raise(UnableToSignError, "Missing required attributes to sign: #{missing_attributes.inspect}\non object to sign: #{inspect}")
82
+ raise(UnableToSignError,
83
+ "Missing required attributes to sign: #{missing_attributes.inspect}\non object to sign: #{inspect}")
76
84
  end
77
85
 
78
86
  self.class::SIGNATURE_COMPONENTS_V2.map do |k|
@@ -88,17 +96,17 @@ module MAuth
88
96
  # i.e. /./example => /example ; /example/.. => /
89
97
  # String#squeeze removes duplicated slahes i.e. /// => /
90
98
  # String#gsub normalizes percent encoding to uppercase i.e. %cf%80 => %CF%80
91
- Addressable::URI.normalize_path(path).squeeze('/').
92
- gsub(/%[a-f0-9]{2}/, &:upcase)
99
+ Addressable::URI.normalize_path(path).squeeze('/')
100
+ .gsub(/%[a-f0-9]{2}/, &:upcase)
93
101
  end
94
102
 
95
103
  # sorts query string parameters by codepoint, uri encodes keys and values,
96
104
  # and rejoins parameters into a query string
97
105
  def unescape_encode_query_string(q_string)
98
- fir = q_string.split('&').map do |part|
106
+ q_string.split('&').map do |part|
99
107
  k, _eq, v = part.partition('=')
100
108
  [CGI.unescape(k), CGI.unescape(v)]
101
- end.sort.map do |k, v|
109
+ end.sort.map do |k, v| # rubocop:disable Style/MultilineBlockChain
102
110
  "#{uri_escape(k)}=#{uri_escape(v)}"
103
111
  end.join('&')
104
112
  end
@@ -172,7 +180,7 @@ module MAuth
172
180
 
173
181
  def mcc_data
174
182
  mcc_authentication&.match(
175
- /\A(#{MAuth::Client::MWSV2_TOKEN}) ([^:]+):([^:]+)#{MAuth::Client::AUTH_HEADER_DELIMITER}\z/
183
+ /\A(#{MAuth::Client::MWSV2_TOKEN}) ([^:]+):([^:]+)#{MAuth::Client::AUTH_HEADER_DELIMITER}\z/o
176
184
  )
177
185
  end
178
186
 
data/lib/mauth/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MAuth
4
- VERSION = '6.2.0'
4
+ VERSION = '6.4.0'
5
5
  end
data/lib/mauth-client.rb CHANGED
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mauth/client'
data/lib/rack/mauth.rb CHANGED
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mauth/rack'
data/mauth-client.gemspec CHANGED
@@ -1,4 +1,6 @@
1
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'mauth/version'
4
6
 
@@ -8,33 +10,36 @@ Gem::Specification.new do |spec|
8
10
  spec.authors = ['Matthew Szenher', 'Aaron Suggs', 'Geoffrey Ducharme', 'Ethan']
9
11
  spec.email = ['mszenher@mdsol.com']
10
12
  spec.summary = 'Sign and authenticate requests and responses with mAuth authentication.'
11
- spec.description = 'Client for signing and authentication of requests and responses with mAuth authentication. Includes middleware for Rack and Faraday for incoming and outgoing requests and responses.'
13
+ spec.description = 'Client for signing and authentication of requests and responses with mAuth authentication. ' \
14
+ 'Includes middleware for Rack and Faraday for incoming and outgoing requests and responses.'
12
15
  spec.homepage = 'https://github.com/mdsol/mauth-client-ruby'
13
16
  spec.license = 'MIT'
14
- spec.required_ruby_version = '>= 2.3.0'
17
+ spec.required_ruby_version = '>= 2.6.0'
15
18
 
16
19
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
20
  spec.bindir = 'exe'
18
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
22
  spec.require_paths = ['lib']
20
23
 
21
- spec.add_dependency 'faraday', '>= 0.9', '< 2.0'
22
- spec.add_dependency 'faraday_middleware', '>= 0.9', '< 2.0'
23
- spec.add_dependency 'faraday-http-cache', '>= 2.0', '< 3.0'
24
- spec.add_dependency 'oj', '~> 3.0'
25
- spec.add_dependency 'term-ansicolor', '~> 1.0'
24
+ spec.add_dependency 'addressable', '~> 2.0'
26
25
  spec.add_dependency 'coderay', '~> 1.0'
27
- spec.add_dependency 'rack'
28
26
  spec.add_dependency 'dice_bag', '>= 0.9', '< 2.0'
29
- spec.add_dependency 'addressable', '~> 2.0'
27
+ spec.add_dependency 'faraday', '>= 0.9', '< 3.0'
28
+ spec.add_dependency 'faraday-http-cache', '>= 2.0', '< 3.0'
29
+ spec.add_dependency 'rack'
30
+ spec.add_dependency 'term-ansicolor', '~> 1.0'
30
31
 
31
32
  spec.add_development_dependency 'appraisal'
33
+ spec.add_development_dependency 'benchmark-ips', '~> 2.7'
32
34
  spec.add_development_dependency 'bundler', '>= 1.17'
33
35
  spec.add_development_dependency 'byebug'
34
36
  spec.add_development_dependency 'rack-test', '~> 1.1.0'
35
37
  spec.add_development_dependency 'rake', '~> 12.0'
36
38
  spec.add_development_dependency 'rspec', '~> 3.8'
39
+ spec.add_development_dependency 'rubocop', '= 1.25.1'
40
+ spec.add_development_dependency 'rubocop-mdsol', '~> 0.1'
41
+ spec.add_development_dependency 'rubocop-performance', '= 1.13.2'
37
42
  spec.add_development_dependency 'simplecov', '~> 0.16'
38
43
  spec.add_development_dependency 'timecop', '~> 0.9'
39
- spec.add_development_dependency 'benchmark-ips', '~> 2.7'
44
+ spec.add_development_dependency 'webmock', '~> 3.0'
40
45
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mauth-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.0
4
+ version: 6.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Szenher
@@ -11,30 +11,38 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2021-06-10 00:00:00.000000000 Z
14
+ date: 2022-02-25 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: faraday
17
+ name: addressable
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: '0.9'
23
- - - "<"
20
+ - - "~>"
24
21
  - !ruby/object:Gem::Version
25
22
  version: '2.0'
26
23
  type: :runtime
27
24
  prerelease: false
28
25
  version_requirements: !ruby/object:Gem::Requirement
29
26
  requirements:
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: '0.9'
33
- - - "<"
27
+ - - "~>"
34
28
  - !ruby/object:Gem::Version
35
29
  version: '2.0'
36
30
  - !ruby/object:Gem::Dependency
37
- name: faraday_middleware
31
+ name: coderay
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - "~>"
35
+ - !ruby/object:Gem::Version
36
+ version: '1.0'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '1.0'
44
+ - !ruby/object:Gem::Dependency
45
+ name: dice_bag
38
46
  requirement: !ruby/object:Gem::Requirement
39
47
  requirements:
40
48
  - - ">="
@@ -54,12 +62,12 @@ dependencies:
54
62
  - !ruby/object:Gem::Version
55
63
  version: '2.0'
56
64
  - !ruby/object:Gem::Dependency
57
- name: faraday-http-cache
65
+ name: faraday
58
66
  requirement: !ruby/object:Gem::Requirement
59
67
  requirements:
60
68
  - - ">="
61
69
  - !ruby/object:Gem::Version
62
- version: '2.0'
70
+ version: '0.9'
63
71
  - - "<"
64
72
  - !ruby/object:Gem::Version
65
73
  version: '3.0'
@@ -69,40 +77,46 @@ dependencies:
69
77
  requirements:
70
78
  - - ">="
71
79
  - !ruby/object:Gem::Version
72
- version: '2.0'
80
+ version: '0.9'
73
81
  - - "<"
74
82
  - !ruby/object:Gem::Version
75
83
  version: '3.0'
76
84
  - !ruby/object:Gem::Dependency
77
- name: oj
85
+ name: faraday-http-cache
78
86
  requirement: !ruby/object:Gem::Requirement
79
87
  requirements:
80
- - - "~>"
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '2.0'
91
+ - - "<"
81
92
  - !ruby/object:Gem::Version
82
93
  version: '3.0'
83
94
  type: :runtime
84
95
  prerelease: false
85
96
  version_requirements: !ruby/object:Gem::Requirement
86
97
  requirements:
87
- - - "~>"
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '2.0'
101
+ - - "<"
88
102
  - !ruby/object:Gem::Version
89
103
  version: '3.0'
90
104
  - !ruby/object:Gem::Dependency
91
- name: term-ansicolor
105
+ name: rack
92
106
  requirement: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - "~>"
108
+ - - ">="
95
109
  - !ruby/object:Gem::Version
96
- version: '1.0'
110
+ version: '0'
97
111
  type: :runtime
98
112
  prerelease: false
99
113
  version_requirements: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - "~>"
115
+ - - ">="
102
116
  - !ruby/object:Gem::Version
103
- version: '1.0'
117
+ version: '0'
104
118
  - !ruby/object:Gem::Dependency
105
- name: coderay
119
+ name: term-ansicolor
106
120
  requirement: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
@@ -116,13 +130,13 @@ dependencies:
116
130
  - !ruby/object:Gem::Version
117
131
  version: '1.0'
118
132
  - !ruby/object:Gem::Dependency
119
- name: rack
133
+ name: appraisal
120
134
  requirement: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - ">="
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0'
125
- type: :runtime
139
+ type: :development
126
140
  prerelease: false
127
141
  version_requirements: !ruby/object:Gem::Requirement
128
142
  requirements:
@@ -130,53 +144,19 @@ dependencies:
130
144
  - !ruby/object:Gem::Version
131
145
  version: '0'
132
146
  - !ruby/object:Gem::Dependency
133
- name: dice_bag
134
- requirement: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0.9'
139
- - - "<"
140
- - !ruby/object:Gem::Version
141
- version: '2.0'
142
- type: :runtime
143
- prerelease: false
144
- version_requirements: !ruby/object:Gem::Requirement
145
- requirements:
146
- - - ">="
147
- - !ruby/object:Gem::Version
148
- version: '0.9'
149
- - - "<"
150
- - !ruby/object:Gem::Version
151
- version: '2.0'
152
- - !ruby/object:Gem::Dependency
153
- name: addressable
147
+ name: benchmark-ips
154
148
  requirement: !ruby/object:Gem::Requirement
155
149
  requirements:
156
150
  - - "~>"
157
151
  - !ruby/object:Gem::Version
158
- version: '2.0'
159
- type: :runtime
160
- prerelease: false
161
- version_requirements: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - "~>"
164
- - !ruby/object:Gem::Version
165
- version: '2.0'
166
- - !ruby/object:Gem::Dependency
167
- name: appraisal
168
- requirement: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- version: '0'
152
+ version: '2.7'
173
153
  type: :development
174
154
  prerelease: false
175
155
  version_requirements: !ruby/object:Gem::Requirement
176
156
  requirements:
177
- - - ">="
157
+ - - "~>"
178
158
  - !ruby/object:Gem::Version
179
- version: '0'
159
+ version: '2.7'
180
160
  - !ruby/object:Gem::Dependency
181
161
  name: bundler
182
162
  requirement: !ruby/object:Gem::Requirement
@@ -247,6 +227,48 @@ dependencies:
247
227
  - - "~>"
248
228
  - !ruby/object:Gem::Version
249
229
  version: '3.8'
230
+ - !ruby/object:Gem::Dependency
231
+ name: rubocop
232
+ requirement: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - '='
235
+ - !ruby/object:Gem::Version
236
+ version: 1.25.1
237
+ type: :development
238
+ prerelease: false
239
+ version_requirements: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - '='
242
+ - !ruby/object:Gem::Version
243
+ version: 1.25.1
244
+ - !ruby/object:Gem::Dependency
245
+ name: rubocop-mdsol
246
+ requirement: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '0.1'
251
+ type: :development
252
+ prerelease: false
253
+ version_requirements: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '0.1'
258
+ - !ruby/object:Gem::Dependency
259
+ name: rubocop-performance
260
+ requirement: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - '='
263
+ - !ruby/object:Gem::Version
264
+ version: 1.13.2
265
+ type: :development
266
+ prerelease: false
267
+ version_requirements: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - '='
270
+ - !ruby/object:Gem::Version
271
+ version: 1.13.2
250
272
  - !ruby/object:Gem::Dependency
251
273
  name: simplecov
252
274
  requirement: !ruby/object:Gem::Requirement
@@ -276,19 +298,19 @@ dependencies:
276
298
  - !ruby/object:Gem::Version
277
299
  version: '0.9'
278
300
  - !ruby/object:Gem::Dependency
279
- name: benchmark-ips
301
+ name: webmock
280
302
  requirement: !ruby/object:Gem::Requirement
281
303
  requirements:
282
304
  - - "~>"
283
305
  - !ruby/object:Gem::Version
284
- version: '2.7'
306
+ version: '3.0'
285
307
  type: :development
286
308
  prerelease: false
287
309
  version_requirements: !ruby/object:Gem::Requirement
288
310
  requirements:
289
311
  - - "~>"
290
312
  - !ruby/object:Gem::Version
291
- version: '2.7'
313
+ version: '3.0'
292
314
  description: Client for signing and authentication of requests and responses with
293
315
  mAuth authentication. Includes middleware for Rack and Faraday for incoming and
294
316
  outgoing requests and responses.
@@ -304,6 +326,8 @@ files:
304
326
  - ".gitignore"
305
327
  - ".gitmodules"
306
328
  - ".rspec"
329
+ - ".rubocop.yml"
330
+ - ".ruby-version"
307
331
  - ".travis.yml"
308
332
  - ".yardopts"
309
333
  - Appraisals
@@ -327,6 +351,7 @@ files:
327
351
  - exe/mauth-proxy
328
352
  - gemfiles/faraday_0.x.gemfile
329
353
  - gemfiles/faraday_1.x.gemfile
354
+ - gemfiles/faraday_2.x.gemfile
330
355
  - lib/mauth-client.rb
331
356
  - lib/mauth/autoload.rb
332
357
  - lib/mauth/client.rb
@@ -362,14 +387,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
362
387
  requirements:
363
388
  - - ">="
364
389
  - !ruby/object:Gem::Version
365
- version: 2.3.0
390
+ version: 2.6.0
366
391
  required_rubygems_version: !ruby/object:Gem::Requirement
367
392
  requirements:
368
393
  - - ">="
369
394
  - !ruby/object:Gem::Version
370
395
  version: '0'
371
396
  requirements: []
372
- rubygems_version: 3.0.8
397
+ rubygems_version: 3.1.2
373
398
  signing_key:
374
399
  specification_version: 4
375
400
  summary: Sign and authenticate requests and responses with mAuth authentication.