class Aws::Sigv2::Signer

def sign_request(request)

Returns:
  • (Hash) - Returns a hash of un-escaped signature

Options Hash: (**request)
  • :params (optional, Hash) -- Request
  • :url (required, String, URI::HTTPS, URI::HTTP) --
  • :http_method (required, String) -- One of

Parameters:
  • request (Hash) --
def sign_request(request)
  creds = @credentials_provider.credentials
  http_method = extract_http_method(request)
  url = extract_url(request)
  params = request[:params] || {}
  timestamp = params['Timestamp']
  timestamp ||= Time.now.utc.strftime('%Y-%m-%dT%H:%M:%SZ')
  auth_params = {}
  auth_params['AWSAccessKeyId'] = creds.access_key_id
  auth_params['SecurityToken'] = creds.session_token if creds.session_token
  auth_params['Timestamp'] = timestamp
  auth_params['SignatureVersion'] = '2'
  auth_params['SignatureMethod'] = 'HmacSHA256'
  sts = string_to_sign(http_method, url, params.merge(auth_params))
  auth_params['Signature'] = signature(sts, creds.secret_access_key)
  auth_params
end