aws-sigv4 1.1.2 → 1.1.3

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: 03c9715c1cf282c8fee51a8fe55a3fa6e275c2b705ba750bcfd00be9d5bf1748
4
- data.tar.gz: 7df75c859ecc8133c60ec326f5ddc9fe6ae8a3d2dda508a67f2f9c84f42df261
3
+ metadata.gz: c1f3ae60ae3754e28c89f19239f75a440f2d9ef5b3180677b469d864772bca10
4
+ data.tar.gz: 75c1f38dd9e1233560a3082ec92cfe582848c524d21b2b1ec54713df2243cbca
5
5
  SHA512:
6
- metadata.gz: a06c0f5359695381e9e7735c8f9b2e4de552bcc1eac0ff721a1fc2d85f44396daae90b6ca8d2bb86174d9ffc8e3e3178d1f3783788c17649b7ef85deacd100c2
7
- data.tar.gz: b1de160e55e4a18283392c22716c7192e5351ef3bddf8db5ab359f352ab73bcb43ed9021d9d6a4fa048de46de5bbb08aac6cde8f2366400c7655901aa6a35b01
6
+ metadata.gz: 6283e3cfd3ac6d559640b83a4b5f313fc4cbb517603f8bf5ecc264d1339ef37d6f9ac0e05cf5c6041880e52417edc4cb3b9a515ef0648afa7eefb10b1ed510cc
7
+ data.tar.gz: fb6f2b52ab4fa8db48ea96d56916f8ab1feefb59d1dbed8a88d0b88ca1d904410a0bd0911be39641788e85007f541fa5b0b692275bdf86affa2eab137d1cd8a3
@@ -28,11 +28,14 @@ module Aws
28
28
  # @return [String, nil]
29
29
  attr_reader :session_token
30
30
 
31
- # @return [Boolean]
31
+ # @return [Boolean] Returns `true` if the access key id and secret
32
+ # access key are both set.
32
33
  def set?
33
- !!(access_key_id && secret_access_key)
34
+ !access_key_id.nil? &&
35
+ !access_key_id.empty? &&
36
+ !secret_access_key.nil? &&
37
+ !secret_access_key.empty?
34
38
  end
35
-
36
39
  end
37
40
 
38
41
  # Users that wish to configure static credentials can use the
@@ -53,6 +56,10 @@ module Aws
53
56
  # @return [Credentials]
54
57
  attr_reader :credentials
55
58
 
59
+ # @return [Boolean]
60
+ def set?
61
+ !!credentials && credentials.set?
62
+ end
56
63
  end
57
64
 
58
65
  end
@@ -564,7 +564,9 @@ module Aws
564
564
  OpenSSL::Digest::SHA256.file(value).hexdigest
565
565
  elsif value.respond_to?(:read)
566
566
  sha256 = OpenSSL::Digest::SHA256.new
567
- while chunk = value.read(1024 * 1024, buffer ||= "") # 1MB
567
+ loop do
568
+ chunk = value.read(1024 * 1024) # 1MB
569
+ break unless chunk
568
570
  sha256.update(chunk)
569
571
  end
570
572
  value.rewind
@@ -652,16 +654,28 @@ module Aws
652
654
  self.class.uri_escape_path(string)
653
655
  end
654
656
 
657
+
655
658
  def fetch_credentials
656
659
  credentials = @credentials_provider.credentials
657
- if credentials.set?
660
+ if credentials_set?(credentials)
658
661
  credentials
659
662
  else
660
663
  raise Errors::MissingCredentialsError,
661
- 'unable to sign request without credentials set'
664
+ 'unable to sign request without credentials set'
662
665
  end
663
666
  end
664
667
 
668
+ # Returns true if credentials are set (not nil or empty)
669
+ # Credentials may not implement the Credentials interface
670
+ # and may just be credential like Client response objects
671
+ # (eg those returned by sts#assume_role)
672
+ def credentials_set?(credentials)
673
+ !credentials.access_key_id.nil? &&
674
+ !credentials.access_key_id.empty? &&
675
+ !credentials.secret_access_key.nil? &&
676
+ !credentials.secret_access_key.empty?
677
+ end
678
+
665
679
  class << self
666
680
 
667
681
  # @api private
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sigv4
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-17 00:00:00.000000000 Z
11
+ date: 2020-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-eventstream