faraday_middleware-aws-sigv4 0.4.0 → 0.5.0

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: d0e5eb23ca6df3387ac50a4917e304311f606276c96fbab4aa0a8e8946ed97c4
4
- data.tar.gz: 326b17872f5fe6d1127533eec5a46af0f2c5d5918485be48bfaf6c53ed198328
3
+ metadata.gz: e09732db4f0a13230a9c0cf1da3940aba5fa6f70d9ec1f6ccda9d12cfc1e81fa
4
+ data.tar.gz: f16d00f7a1a92babfb14ca2401335f75ff2f6d37096beb0451da4db14edef79b
5
5
  SHA512:
6
- metadata.gz: 7cb0cc83b9b82920b26106ebc2039684c17679161ef97c93a65c01a72bcf54daa9d510cc0d0d7e40fbb6888db28dcd1a4a62b6c3defc9823b4889aba75088570
7
- data.tar.gz: c5165646f89f56de6b3c653112d6f71bcdb60cf63dcc1949de6fb9ec905bd9858c32c552564ecc916cde03479ee7f01f63890bbd883276fc6dedc9e8a2a7f3af
6
+ metadata.gz: a43623245d5ac14ad75c180ee0f7aff685e4a0cd5fb282730e453fb08363e89fe1a5781e186b55623451c2acf5c6a1132b749c27fd3a968c7641f914a5863e74
7
+ data.tar.gz: 23b6b71e035f9467dd97d6d82ee3a4aebe5e2502243c6d357da86fac4b51bb8901d686d54aa9438a24db1ba265bc671caa17148e563056314c17f864a0cb068e
@@ -19,10 +19,15 @@ jobs:
19
19
  - gemfiles/faraday_0.15.gemfile
20
20
  - gemfiles/faraday_0.16.gemfile
21
21
  - gemfiles/faraday_0.17.gemfile
22
-
22
+ - gemfiles/faraday_1.0.gemfile
23
+ - gemfiles/faraday_1.1.gemfile
24
+ - gemfiles/faraday_1.2.gemfile
25
+ - gemfiles/faraday_1.3.gemfile
26
+ env:
27
+ BUNDLE_GEMFILE: ${{ matrix.gemfile }}
23
28
  steps:
24
29
  - uses: actions/checkout@v2
25
- - uses: actions/setup-ruby@v1
30
+ - uses: ruby/setup-ruby@v1
26
31
  with:
27
32
  ruby-version: ${{ matrix.ruby }}
28
33
  - uses: actions/cache@v2
@@ -31,20 +36,24 @@ jobs:
31
36
  key: ${{ runner.os }}-gems-${{ matrix.ruby }}-${{ matrix.gemfile }}-${{ hashFiles('faraday_middleware-aws-sigv4.gemspec', '**/Gemfile', '${{ matrix.gemfile }}') }}
32
37
  restore-keys: |
33
38
  ${{ runner.os }}-gems-${{ matrix.ruby }}-${{ matrix.gemfile }}-
34
-
35
39
  - name: Setup dependencies
36
40
  run: |
37
41
  bundle config path vendor/bundle
38
42
  bundle install
39
- env:
40
- BUNDLE_GEMFILE: ${{ matrix.gemfile }}
41
-
42
43
  - name: Run tests
43
- run: ${{ matrix.env }} bundle exec rake
44
- env:
45
- BUNDLE_GEMFILE: ${{ matrix.gemfile }}
46
-
47
- - name: Coveralls GitHub Action
44
+ run: bundle exec rake
45
+ - name: Coveralls Parallel
46
+ uses: coverallsapp/github-action@v1.1.2
47
+ with:
48
+ github-token: ${{ secrets.GITHUB_TOKEN }}
49
+ flag-name: run-${{ matrix.ruby }}-${{ matrix.gemfile }}
50
+ parallel: true
51
+ finish:
52
+ needs: build
53
+ runs-on: ubuntu-latest
54
+ steps:
55
+ - name: Coveralls Finished
48
56
  uses: coverallsapp/github-action@v1.1.2
49
57
  with:
50
58
  github-token: ${{ secrets.GITHUB_TOKEN }}
59
+ parallel-finished: true
@@ -0,0 +1,16 @@
1
+ AllCops:
2
+ Exclude:
3
+ - 'gemfiles/**/*'
4
+ TargetRubyVersion: 2.4
5
+ NewCops: enable
6
+ Bundler/OrderedGems:
7
+ Include:
8
+ - 'Appraisals'
9
+ Metrics/BlockLength:
10
+ Enabled: false
11
+ Layout/LineLength:
12
+ Enabled: false
13
+ Metrics/MethodLength:
14
+ Enabled: false
15
+ Style/Documentation:
16
+ Enabled: false
data/.simplecov CHANGED
@@ -1,4 +1,6 @@
1
+ # frozen_string_literal: true
2
+
1
3
  SimpleCov.start do
2
4
  # exclude directories and files
3
- add_filter "/spec/"
5
+ add_filter '/spec/'
4
6
  end
data/Appraisals CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  appraise 'faraday-0.15' do
2
4
  gem 'faraday', '~> 0.15.0'
3
5
  end
@@ -13,3 +15,15 @@ end
13
15
  appraise 'faraday-1.0' do
14
16
  gem 'faraday', '~> 1.0.0'
15
17
  end
18
+
19
+ appraise 'faraday-1.1' do
20
+ gem 'faraday', '~> 1.1.0'
21
+ end
22
+
23
+ appraise 'faraday-1.2' do
24
+ gem 'faraday', '~> 1.2.0'
25
+ end
26
+
27
+ appraise 'faraday-1.3' do
28
+ gem 'faraday', '~> 1.3.0'
29
+ end
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in faraday_middleware-aws-sigv4.gemspec
data/README.md CHANGED
@@ -11,6 +11,8 @@
11
11
  * `faraday_middleware-aws-sigv4 >= 0.3.0`
12
12
  * `ruby >= 2.3`
13
13
  * `faraday >= 0.15`
14
+ * `faraday_middleware-aws-sigv4 >= 0.5.0`
15
+ * `ruby >= 2.4`
14
16
 
15
17
  ## Installation
16
18
 
data/Rakefile CHANGED
@@ -1,6 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
5
+ require 'rubocop/rake_task'
3
6
 
4
7
  RSpec::Core::RakeTask.new(:spec)
5
8
 
6
- task :default => :spec
9
+ RuboCop::RakeTask.new do |task|
10
+ task.options = %w[-c .rubocop.yml]
11
+ end
12
+
13
+ task default: %i[rubocop spec]
@@ -1,15 +1,16 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
 
5
6
  Gem::Specification.new do |spec|
6
7
  spec.name = 'faraday_middleware-aws-sigv4'
7
- spec.version = '0.4.0'
8
+ spec.version = '0.5.0'
8
9
  spec.authors = ['Genki Sugawara']
9
10
  spec.email = ['sugawara@cookpad.com']
10
11
 
11
- spec.summary = %q{Faraday middleware for AWS Signature Version 4 using aws-sigv4.}
12
- spec.description = %q{Faraday middleware for AWS Signature Version 4 using aws-sigv4.}
12
+ spec.summary = 'Faraday middleware for AWS Signature Version 4 using aws-sigv4.'
13
+ spec.description = 'Faraday middleware for AWS Signature Version 4 using aws-sigv4.'
13
14
  spec.homepage = 'https://github.com/winebarrel/faraday_middleware-aws-sigv4'
14
15
  spec.license = 'MIT'
15
16
 
@@ -20,18 +21,21 @@ Gem::Specification.new do |spec|
20
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
22
  spec.require_paths = ['lib']
22
23
 
23
- spec.required_ruby_version = '>= 2.3'
24
+ spec.required_ruby_version = '>= 2.4'
24
25
 
25
- spec.add_dependency 'faraday', '>= 0.15'
26
26
  spec.add_dependency 'aws-sigv4', '~> 1.0'
27
+ spec.add_dependency 'faraday', '>= 0.15'
27
28
 
28
- spec.add_development_dependency 'faraday_middleware'
29
+ spec.add_development_dependency 'appraisal', '>= 2.2'
30
+ spec.add_development_dependency 'aws-sdk-core', '~> 3.14.0'
29
31
  spec.add_development_dependency 'bundler'
32
+ spec.add_development_dependency 'faraday_middleware'
30
33
  spec.add_development_dependency 'rake'
31
34
  spec.add_development_dependency 'rspec', '~> 3.0'
32
- spec.add_development_dependency 'timecop'
33
- spec.add_development_dependency 'aws-sdk-core', '~> 3.14.0'
34
- spec.add_development_dependency 'appraisal', '>= 2.2'
35
+ spec.add_development_dependency 'rubocop', '>= 1.8.0'
36
+ spec.add_development_dependency 'rubocop-rake'
37
+ spec.add_development_dependency 'rubocop-rspec'
35
38
  spec.add_development_dependency 'simplecov'
36
39
  spec.add_development_dependency 'simplecov-lcov'
40
+ spec.add_development_dependency 'timecop'
37
41
  end
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "faraday", "~> 1.1.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "faraday", "~> 1.2.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "faraday", "~> 1.3.0"
6
+
7
+ gemspec path: "../"
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'faraday'
2
4
 
3
5
  module FaradayMiddleware
4
6
  autoload :AwsSigV4, 'faraday_middleware/request/aws_sigv4'
5
- Faraday::Request.register_middleware aws_sigv4: lambda { AwsSigV4 }
7
+ Faraday::Request.register_middleware aws_sigv4: -> { AwsSigV4 }
6
8
  end
@@ -1,37 +1,41 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'aws-sigv4'
2
4
  require 'faraday_middleware/request/aws_sigv4_util'
3
5
 
4
- class FaradayMiddleware::AwsSigV4 < Faraday::Middleware
5
- include FaradayMiddleware::AwsSigV4Util
6
+ module FaradayMiddleware
7
+ class AwsSigV4 < Faraday::Middleware
8
+ include FaradayMiddleware::AwsSigV4Util
6
9
 
7
- def initialize(app, options = nil)
8
- super(app)
9
- @signer = Aws::Sigv4::Signer.new(options)
10
- @options = options
11
- end
10
+ def initialize(app, options = nil)
11
+ super(app)
12
+ @signer = Aws::Sigv4::Signer.new(options)
13
+ @options = options
14
+ end
12
15
 
13
- def call(env)
14
- sign!(env)
15
- @app.call(env)
16
- end
16
+ def call(env)
17
+ sign!(env)
18
+ @app.call(env)
19
+ end
17
20
 
18
- private
21
+ private
19
22
 
20
- def sign!(env)
21
- request = build_aws_sigv4_request(env)
22
- signature = @signer.sign_request(request)
23
+ def sign!(env)
24
+ request = build_aws_sigv4_request(env)
25
+ signature = @signer.sign_request(request)
23
26
 
24
- signature.headers.each do |name, value|
25
- env.request_headers[name] = value
27
+ signature.headers.each do |name, value|
28
+ env.request_headers[name] = value
29
+ end
26
30
  end
27
- end
28
31
 
29
- def build_aws_sigv4_request(env)
30
- {
31
- http_method: env.method.to_s,
32
- url: seahorse_encode_query(env.url),
33
- headers: env.request_headers,
34
- body: env.body,
35
- }
32
+ def build_aws_sigv4_request(env)
33
+ {
34
+ http_method: env.method.to_s,
35
+ url: seahorse_encode_query(env.url),
36
+ headers: env.request_headers,
37
+ body: env.body
38
+ }
39
+ end
36
40
  end
37
41
  end
@@ -1,32 +1,36 @@
1
- module FaradayMiddleware::AwsSigV4Util
2
- def seahorse_encode_query(url)
3
- return url unless url.query
1
+ # frozen_string_literal: true
4
2
 
5
- params = URI.decode_www_form(url.query)
3
+ module FaradayMiddleware
4
+ module AwsSigV4Util
5
+ def seahorse_encode_query(url)
6
+ return url unless url.query
6
7
 
7
- if params.any? {|_, v| v[?\s] }
8
- url = url.dup
9
- url.query = seahorse_encode_www_form(params)
10
- end
8
+ params = URI.decode_www_form(url.query)
11
9
 
12
- url
13
- end
10
+ if params.any? { |_, v| v["\s"] }
11
+ url = url.dup
12
+ url.query = seahorse_encode_www_form(params)
13
+ end
14
14
 
15
- def seahorse_encode_www_form(params)
16
- params.flat_map {|key, value|
17
- encoded_key = URI.encode_www_form_component(key)
15
+ url
16
+ end
18
17
 
19
- if value.nil?
20
- encoded_key
21
- else
22
- Array(value).map do |v|
23
- if v.nil?
24
- # nothing to do
25
- else
26
- encoded_key + '=' + Aws::Sigv4::Signer.uri_escape(v)
18
+ def seahorse_encode_www_form(params)
19
+ params.flat_map do |key, value|
20
+ encoded_key = URI.encode_www_form_component(key)
21
+
22
+ if value.nil?
23
+ encoded_key
24
+ else
25
+ Array(value).map do |v|
26
+ if v.nil?
27
+ # nothing to do
28
+ else
29
+ "#{encoded_key}=#{Aws::Sigv4::Signer.uri_escape(v)}"
30
+ end
27
31
  end
28
32
  end
29
- end
30
- }.join(?&)
33
+ end.join('&')
34
+ end
31
35
  end
32
36
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday_middleware-aws-sigv4
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-13 00:00:00.000000000 Z
11
+ date: 2021-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: aws-sigv4
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: faraday
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -25,21 +39,35 @@ dependencies:
25
39
  - !ruby/object:Gem::Version
26
40
  version: '0.15'
27
41
  - !ruby/object:Gem::Dependency
28
- name: aws-sigv4
42
+ name: appraisal
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '2.2'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '2.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aws-sdk-core
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
59
  - - "~>"
32
60
  - !ruby/object:Gem::Version
33
- version: '1.0'
34
- type: :runtime
61
+ version: 3.14.0
62
+ type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - "~>"
39
67
  - !ruby/object:Gem::Version
40
- version: '1.0'
68
+ version: 3.14.0
41
69
  - !ruby/object:Gem::Dependency
42
- name: faraday_middleware
70
+ name: bundler
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - ">="
@@ -53,7 +81,7 @@ dependencies:
53
81
  - !ruby/object:Gem::Version
54
82
  version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
- name: bundler
84
+ name: faraday_middleware
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - ">="
@@ -95,47 +123,47 @@ dependencies:
95
123
  - !ruby/object:Gem::Version
96
124
  version: '3.0'
97
125
  - !ruby/object:Gem::Dependency
98
- name: timecop
126
+ name: rubocop
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
129
  - - ">="
102
130
  - !ruby/object:Gem::Version
103
- version: '0'
131
+ version: 1.8.0
104
132
  type: :development
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
136
  - - ">="
109
137
  - !ruby/object:Gem::Version
110
- version: '0'
138
+ version: 1.8.0
111
139
  - !ruby/object:Gem::Dependency
112
- name: aws-sdk-core
140
+ name: rubocop-rake
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
- - - "~>"
143
+ - - ">="
116
144
  - !ruby/object:Gem::Version
117
- version: 3.14.0
145
+ version: '0'
118
146
  type: :development
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
- - - "~>"
150
+ - - ">="
123
151
  - !ruby/object:Gem::Version
124
- version: 3.14.0
152
+ version: '0'
125
153
  - !ruby/object:Gem::Dependency
126
- name: appraisal
154
+ name: rubocop-rspec
127
155
  requirement: !ruby/object:Gem::Requirement
128
156
  requirements:
129
157
  - - ">="
130
158
  - !ruby/object:Gem::Version
131
- version: '2.2'
159
+ version: '0'
132
160
  type: :development
133
161
  prerelease: false
134
162
  version_requirements: !ruby/object:Gem::Requirement
135
163
  requirements:
136
164
  - - ">="
137
165
  - !ruby/object:Gem::Version
138
- version: '2.2'
166
+ version: '0'
139
167
  - !ruby/object:Gem::Dependency
140
168
  name: simplecov
141
169
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +192,20 @@ dependencies:
164
192
  - - ">="
165
193
  - !ruby/object:Gem::Version
166
194
  version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: timecop
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
167
209
  description: Faraday middleware for AWS Signature Version 4 using aws-sigv4.
168
210
  email:
169
211
  - sugawara@cookpad.com
@@ -174,20 +216,22 @@ files:
174
216
  - ".github/workflows/test.yml"
175
217
  - ".gitignore"
176
218
  - ".rspec"
219
+ - ".rubocop.yml"
177
220
  - ".simplecov"
178
221
  - Appraisals
179
222
  - Gemfile
180
223
  - LICENSE.txt
181
224
  - README.md
182
225
  - Rakefile
183
- - bin/console
184
- - bin/setup
185
226
  - faraday_middleware-aws-sigv4.gemspec
186
227
  - gemfiles/.bundle/config
187
228
  - gemfiles/faraday_0.15.gemfile
188
229
  - gemfiles/faraday_0.16.gemfile
189
230
  - gemfiles/faraday_0.17.gemfile
190
231
  - gemfiles/faraday_1.0.gemfile
232
+ - gemfiles/faraday_1.1.gemfile
233
+ - gemfiles/faraday_1.2.gemfile
234
+ - gemfiles/faraday_1.3.gemfile
191
235
  - lib/faraday_middleware/aws_sigv4.rb
192
236
  - lib/faraday_middleware/request/aws_sigv4.rb
193
237
  - lib/faraday_middleware/request/aws_sigv4_util.rb
@@ -195,7 +239,7 @@ homepage: https://github.com/winebarrel/faraday_middleware-aws-sigv4
195
239
  licenses:
196
240
  - MIT
197
241
  metadata: {}
198
- post_install_message:
242
+ post_install_message:
199
243
  rdoc_options: []
200
244
  require_paths:
201
245
  - lib
@@ -203,15 +247,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
203
247
  requirements:
204
248
  - - ">="
205
249
  - !ruby/object:Gem::Version
206
- version: '2.3'
250
+ version: '2.4'
207
251
  required_rubygems_version: !ruby/object:Gem::Requirement
208
252
  requirements:
209
253
  - - ">="
210
254
  - !ruby/object:Gem::Version
211
255
  version: '0'
212
256
  requirements: []
213
- rubygems_version: 3.1.2
214
- signing_key:
257
+ rubygems_version: 3.0.3
258
+ signing_key:
215
259
  specification_version: 4
216
260
  summary: Faraday middleware for AWS Signature Version 4 using aws-sigv4.
217
261
  test_files: []
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "faraday_middleware/aws/sigv4"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here