# File lib/aws/core/signature/version_3.rb, line 22 def self.included base base.send(:include, Signer) end
# File lib/aws/core/signature/version_3.rb, line 59 def canonical_headers headers_to_sign.map do |name| value = headers[name] "#{name.downcase.strip}:#{value.strip}\n" end.sort.join end
# File lib/aws/core/signature/version_3.rb, line 66 def headers_to_sign headers.keys.select do |header| header == "host" || header == "content-encoding" || header =~ /^x-amz/ end end
# File lib/aws/core/signature/version_3.rb, line 45 def signature credentials Signer.sign(credentials.secret_access_key, string_to_sign) end
# File lib/aws/core/signature/version_3.rb, line 49 def string_to_sign OpenSSL::Digest::SHA256.digest([ http_method, "/", "", canonical_headers, body ].join("\n")) end