lib/amazon/ecs.rb in amazon-ecs-2.1.1 vs lib/amazon/ecs.rb in amazon-ecs-2.2.0

- old
+ new

@@ -30,26 +30,28 @@ module Amazon class RequestError < StandardError; end class Ecs - SERVICE_URLS = {:us => 'http://ecs.amazonaws.com/onca/xml?', - :uk => 'http://ecs.amazonaws.co.uk/onca/xml?', - :ca => 'http://ecs.amazonaws.ca/onca/xml?', - :de => 'http://ecs.amazonaws.de/onca/xml?', - :jp => 'http://ecs.amazonaws.jp/onca/xml?', - :fr => 'http://ecs.amazonaws.fr/onca/xml?', - :it => 'http://ecs.amazonaws.it/onca/xml?' + SERVICE_URLS = { + :us => 'http://ecs.amazonaws.com/onca/xml', + :uk => 'http://ecs.amazonaws.co.uk/onca/xml', + :ca => 'http://ecs.amazonaws.ca/onca/xml', + :de => 'http://ecs.amazonaws.de/onca/xml', + :jp => 'http://ecs.amazonaws.jp/onca/xml', + :fr => 'http://ecs.amazonaws.fr/onca/xml', + :it => 'http://webservices.amazon.it/onca/xml', + :cn => 'http://webservices.amazon.cn/onca/xml' } OPENSSL_DIGEST_SUPPORT = OpenSSL::Digest.constants.include?( 'SHA256' ) || OpenSSL::Digest.constants.include?( :SHA256 ) OPENSSL_DIGEST = OpenSSL::Digest::Digest.new( 'sha256' ) if OPENSSL_DIGEST_SUPPORT @@options = { - :version => "2010-10-01", + :version => "2011-08-01", :service => "AWSECommerceService" } @@debug = false @@ -124,10 +126,14 @@ unless res.kind_of? Net::HTTPSuccess raise Amazon::RequestError, "HTTP Response: #{res.code} #{res.message}" end Response.new(res.body) end + + def self.validate_request(opts) + raise Amazon::RequestError, "" if opts[:associate_tag] + end # Response object returned after a REST call to Amazon service. class Response # XML input is in string format @@ -214,11 +220,11 @@ country = opts.delete(:country) country = (country.nil?) ? 'us' : country request_url = SERVICE_URLS[country.to_sym] raise Amazon::RequestError, "Invalid country '#{country}'" unless request_url - secret_key = opts.delete(:aWS_secret_key) + secret_key = opts.delete(:AWS_secret_key) request_host = URI.parse(request_url).host qs = '' opts = opts.collect do |a,b| @@ -241,14 +247,12 @@ signature = '' unless secret_key.nil? request_to_sign="GET\n#{request_host}\n/onca/xml\n#{qs}" signature = "&Signature=#{sign_request(request_to_sign, secret_key)}" - else - raise Amazon::RequestError, "Must provide aWS_secret_key to sign request" end - "#{request_url}#{qs}#{signature}" + "#{request_url}?#{qs}#{signature}" end def self.url_encode(string) string.gsub( /([^a-zA-Z0-9_.~-]+)/ ) do '%' + $1.unpack( 'H2' * $1.bytesize ).join( '%' ).upcase