Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'vacuum'
- ACCESS_IDENTIFIER = ''
- SECRET_IDENTIFIER = ''
- def aws_escape(s)
- s.gsub(/[^A-Za-z0-9_.~-]/) { |c| '%' + c.ord.to_s(16).upcase }
- end
- def signing_logic(params)
- amazon_endpoint= "webservices.amazon.in"
- amazon_path = "/onca/xml"
- signing_params = {
- :AWSAccessKeyId => ACCESS_IDENTIFIER,
- :Timestamp => Time.now.gmtime.iso8601
- }
- params.merge!(signing_params)
- canonical_querystring = params.sort.collect do |key, value|
- [aws_escape(key.to_s), aws_escape(value.to_s)].join('=')
- end.join('&')
- string_to_sign = "GET\n#{amazon_endpoint}\n#{amazon_path}\n#{canonical_querystring}"
- hmac = HMAC::SHA256.new(SECRET_IDENTIFIER)
- hmac.update(string_to_sign)
- signature = Base64.encode64(hmac.digest).chomp
- params[:Signature] = signature
- querystring = params.sort.collect do |key, value|
- [aws_escape(key.to_s), aws_escape(value.to_s)].join('=')
- end.join('&')
- signed_url = URI("http://#{amazon_endpoint}#{amazon_path}?#{querystring}")
- end
- request = Vacuum::Request.new('US')
- request.associate_tag = 'tag'
- response = request.browse_node_lookup(
- query: {
- 'BrowseNodeId' => 123
- }
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement