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 +4 -4
- data/lib/aws-sigv4/credentials.rb +10 -3
- data/lib/aws-sigv4/signer.rb +17 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1f3ae60ae3754e28c89f19239f75a440f2d9ef5b3180677b469d864772bca10
|
4
|
+
data.tar.gz: 75c1f38dd9e1233560a3082ec92cfe582848c524d21b2b1ec54713df2243cbca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
data/lib/aws-sigv4/signer.rb
CHANGED
@@ -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
|
-
|
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
|
660
|
+
if credentials_set?(credentials)
|
658
661
|
credentials
|
659
662
|
else
|
660
663
|
raise Errors::MissingCredentialsError,
|
661
|
-
|
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.
|
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-
|
11
|
+
date: 2020-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-eventstream
|