class Amazon::Coral::AwsQueryChainHelper
Constructs a handler chain appropriate for issuing requests using the AWS/QUERY protocol. This class is deprecated in favor of the use of the AwsQuery
class. Clients generated with up-to-date versions of the generator will no longer depend on this class.
Public Class Methods
Creates a chain. Possible arguments are:
- :endpoint
-
The HTTP URL at which the service is located.
- :signature_algorithm
-
The
AWS
signature version to be used to sign outgoing requests. Current choices are::V0 :V1 :V2
- :aws_access_key
-
An
AWS
access key to associate with every outgoing request. This parameter is optional and may be specified on a per-request basis as well. - :aws_secret_key
-
An
AWS
secret key to associate with every outgoing request. This parameter is optional and may be specified on a per-request basis as well. - :ca_file
-
A Certificate Authority file to pass to the
HttpHandler
. - :verbose
-
A verbosity flag to pass to the
HttpHandler
.
# File lib/amazon/coral/awsquerychainhelper.rb, line 41 def initialize(args) # remap args, add defaults where necessary: # support deprecated :uri mechanism of specifying service endpoint args[:endpoint] = args[:uri] if args[:endpoint].nil? # default to V2 if no algorithm is specified args[:signature_algorithm] = :V2 if args[:signature_algorithm].nil? # support the deprecated mechanism for specifying AWS account information args[:aws_access_key] = args[:access_key] if !args.has_key?(:aws_access_key) && args.has_key?(:access_key) args[:aws_secret_key] = args[:secret_key] if !args.has_key?(:aws_secret_key) && args.has_key?(:secret_key) # build up the chain: # allow user to preload identity attributes to be used on all requests identity_args = {} @@identity_arg_keys.each {|k| identity_args[k] = args[k] if args.has_key?(k) } self << IdentityHandler.new(identity_args) unless identity_args.empty? # set the remote endpoint self << HttpDestinationHandler.new(args[:endpoint]) # use the AwsQuery protocol self << AwsQueryHandler.new # select a signing algorithm case args[:signature_algorithm].to_sym when :V0 self << V0SignatureHandler.new when :V1 self << V1SignatureHandler.new when :V2 self << V2SignatureHandler.new end # collect the query string and update the destination URL self << AwsQueryUriHandler.new # make connection over HTTP self << HttpHandler.new( {:ca_file => args[:ca_file], :verbose => args[:verbose]} ) end