module AWS::Core::Signature::Version3HTTPS

Public Class Methods

included(base) click to toggle source
# File lib/aws/core/signature/version_3_https.rb, line 21
def self.included base
  base.send(:include, Signer)
end

Public Instance Methods

add_authorization!(credentials) click to toggle source
# File lib/aws/core/signature/version_3_https.rb, line 25
def add_authorization! credentials

  self.access_key_id = credentials.access_key_id

  parts = []
  parts << "AWS3-HTTPS AWSAccessKeyId=#{access_key_id}"
  parts << "Algorithm=HmacSHA256"
  parts << "Signature=#{signature(credentials)}"
  headers['x-amzn-authorization'] = parts.join(',')

  headers['x-amz-security-token'] = credentials.session_token if
    credentials.session_token

end

Protected Instance Methods

signature(credentials) click to toggle source
# File lib/aws/core/signature/version_3_https.rb, line 42
def signature credentials
  Signer.sign(credentials.secret_access_key, string_to_sign)
end
string_to_sign() click to toggle source
# File lib/aws/core/signature/version_3_https.rb, line 46
def string_to_sign
  headers['date'] ||= Time.now.httpdate
end