module AWS::Core::Signature::Version3HTTPS

def self.included base

def self.included base
  base.send(:include, Signer)
end

def add_authorization! credentials

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

def signature credentials

def signature credentials
  Signer.sign(credentials.secret_access_key, string_to_sign)
end

def string_to_sign

def string_to_sign
  headers['date'] ||= Time.now.httpdate
end