26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/ec2/common/signature.rb', line 26
def self.curl_args_sigv4(url, region, bucket, http_method, , user, pass, data=nil)
aws_secret_access_key = pass
aws_access_key_id = user
if (user.is_a?(Hash))
aws_access_key_id = user['aws_access_key_id']
aws_secret_access_key = user['aws_secret_access_key']
delegation_token = user['aws_delegation_token']
end
host, path, query = parseURL(url, bucket)
hexdigest = if data
HeadersV4::hexdigest data
else
HeadersV4::hexdigest ""
end
||= {}
unless delegation_token.nil?
[EC2::Common::Headers::X_AMZ_SECURITY_TOKEN] = delegation_token
end
= HeadersV4.new({:host => host,
:hexdigest_body => hexdigest,
:region => region,
:service => "s3",
:http_method => http_method,
:path => path,
:querystring => query,
:access_key_id => aws_access_key_id,
:secret_access_key => aws_secret_access_key},
)
= .add_authorization!
end
|