aws-sigv4 1.1.2 → 1.1.3

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: 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