class MSS::Core::Signers::CloudFront
Attributes
credentials[R]
@return [CredentialProviders::Provider]
Public Class Methods
new(credentials)
click to toggle source
@param [CredentialProviders::Provider] credentials
# File lib/mss/core/signers/cloud_front.rb, line 23 def initialize credentials @credentials = credentials end
Public Instance Methods
sign_request(req)
click to toggle source
@param [Http::Request] req @return [Http::Request]
# File lib/mss/core/signers/cloud_front.rb, line 32 def sign_request req req.headers['x-amz-security-token'] = credentials.session_token if credentials.session_token req.headers['authorization'] = "AWS #{credentials.access_key_id}:#{signature(req)}" req end
Private Instance Methods
signature(req)
click to toggle source
@param [Http::Request] req
# File lib/mss/core/signers/cloud_front.rb, line 43 def signature req sign(credentials.secret_access_key, string_to_sign(req), 'sha1') end
string_to_sign(req)
click to toggle source
@param [Http::Request] req
# File lib/mss/core/signers/cloud_front.rb, line 48 def string_to_sign req req.headers['date'] ||= Time.now.httpdate end