Class: RightScale::CloudApi::MWS::RequestSigner
- Inherits:
-
Routine
- Object
- Routine
- RightScale::CloudApi::MWS::RequestSigner
- Defined in:
- lib/cloud/mws/base/routines/request_signer.rb
Overview
Request signer for MWS services.
Defined Under Namespace
Classes: Error
Instance Method Summary collapse
-
#process ⇒ Object
Authenticates an AWS request.
Instance Method Details
#process ⇒ Object
Authenticates an AWS request
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/cloud/mws/base/routines/request_signer.rb', line 37 def process # Make sure all the required params are set @data[:request][:params]['AWSAccessKeyId'] = @data[:credentials][:aws_access_key_id] @data[:request][:params]['Version'] ||= @data[:options][:api_version] # Figure out what service is being invoked service_path = '' if @data[:options][:cloud][:service_path] service_path = '%s/%s' % [@data[:options][:cloud][:service_path], @data[:request][:params]['Version']] end # Compile a final request path path = Utils::join_urn(@data[:connection][:uri].path, @data[:request][:relative_path], service_path) # Sign the request signed_path = Utils::AWS::sign_v2_signature( data[:credentials][:aws_secret_access_key], data[:request][:params] || {}, data[:request][:verb], data[:connection][:uri].host, path ) @data[:request][:path] = '%s?%s' % [path, signed_path] end |