Class: Mws::Signer
- Inherits:
-
Object
- Object
- Mws::Signer
- Defined in:
- lib/mws/signer.rb
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Signer
constructor
A new instance of Signer.
- #sign(query, secret = @secret) ⇒ Object
- #signature(query, secret = @secret) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Signer
Returns a new instance of Signer.
3 4 5 6 7 8 |
# File 'lib/mws/signer.rb', line 3 def initialize(={}) @verb = ([:method] || [:verb] || 'POST').to_s.upcase @host = ([:host] || 'mws.amazonservices.com').to_s.downcase @path = [:path] || '/' @secret = [:secret] end |
Instance Method Details
#sign(query, secret = @secret) ⇒ Object
16 17 18 |
# File 'lib/mws/signer.rb', line 16 def sign(query, secret=@secret) "#{query}&Signature=#{Mws::Utils.uri_escape signature(query, secret)}" end |
#signature(query, secret = @secret) ⇒ Object
10 11 12 13 14 |
# File 'lib/mws/signer.rb', line 10 def signature(query, secret=@secret) digest = OpenSSL::Digest::Digest.new 'sha256' = [ @verb, @host, @path, query ].join "\n" Base64::encode64(OpenSSL::HMAC.digest(digest, secret, )).chomp end |