Sha256: 56993332505da6575b93ecc5aee57d666dca3f9a398f14074b3025b013409147

Contents?: true

Size: 607 Bytes

Versions: 4

Compression:

Stored size: 607 Bytes

Contents

require 'fog/core'
require 'uri'

module Fog
  module Cloudstack

    extend Fog::Provider

    service(:compute, 'cloudstack/compute','Compute')
    
    DIGEST  = OpenSSL::Digest::Digest.new('sha1')
        
    def self.escape(string)
      string = CGI::escape(string)
      string = string.gsub("+","%20")
      string
    end
    
    def self.signed_params(key,params)
      query = params.to_a.sort.collect{|c| "#{c[0]}=#{escape(c[1].to_s)}"}.join('&').downcase
      
      signed_string = Base64.encode64(OpenSSL::HMAC.digest(DIGEST,key,query)).strip
      
      signed_string
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
brightbox-cli-0.18.1 lib/brightbox-cli/vendor/fog/lib/fog/cloudstack.rb
brightbox-cli-0.18.0 lib/brightbox-cli/vendor/fog/lib/fog/cloudstack.rb
brightbox-cli-0.17.5 lib/brightbox-cli/vendor/fog/lib/fog/cloudstack.rb
ktheory-fog-1.1.2 lib/fog/cloudstack.rb