class AceClient::Base3

Attributes

sampler[RW]
signature_method[RW]

Public Class Methods

new(options={}) click to toggle source
Calls superclass method AceClient::Base::new
# File lib/ace-client/base3.rb, line 13
def initialize(options={})
  super(options)
  @signature_method = options[:signature_method] || 'HmacSHA256'
  @authorization_key = options[:authorization_key] || 'authorization'
  @date_key = options[:date_key] || 'x-date'
  @nonce_key = options[:nonce_key] || 'x-amz-nonce'
  @authorization_prefix = options[:authorization_prefix] || 'AWS3-HTTPS'
  @nonce = options[:nonce]

  @sampler = options[:sampler]
  @before_signature = options[:before_signature]
  @before_request = options[:before_request]
end

Public Instance Methods

create_signature() click to toggle source
# File lib/ace-client/base3.rb, line 27
def create_signature
  digest = OpenSSL::Digest.new(@signature_method.downcase.gsub(/hmac/, ''))
  Base64.encode64(OpenSSL::HMAC.digest(digest, secret_access_key, string_to_sign)).strip
end
date() click to toggle source
# File lib/ace-client/base3.rb, line 36
def date
  @date ||= Time.now.utc.rfc822.gsub(/[\-\+]\d{4}$/, 'GMT')
end
string_to_sign() click to toggle source
# File lib/ace-client/base3.rb, line 32
def string_to_sign
  @nonce ? date + @nonce : date
end