1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/cloudstack.rb

29 lines
583 B
Ruby
Raw Normal View History

require 'fog/core'
require 'uri'
module Fog
module Cloudstack
extend Fog::Provider
2011-11-10 12:40:44 -05:00
service(:compute, 'cloudstack/compute','Compute')
2012-03-08 10:27:50 -05:00
2012-03-08 10:30:03 -05:00
@@digest = OpenSSL::Digest::Digest.new('sha1')
2012-03-08 10:27:50 -05:00
def self.escape(string)
string = CGI::escape(string)
string = string.gsub("+","%20")
string
end
2012-03-08 10:27:50 -05:00
def self.signed_params(key,params)
query = params.to_a.sort.collect{|c| "#{c[0]}=#{escape(c[1].to_s)}"}.join('&').downcase
2012-03-08 10:27:50 -05:00
2012-03-08 10:30:03 -05:00
signed_string = Base64.encode64(OpenSSL::HMAC.digest(@@digest,key,query)).strip
2012-03-08 10:27:50 -05:00
signed_string
end
end
end