lib/RightScaleAPIHelper.rb in RightScaleAPIHelper-0.4.1 vs lib/RightScaleAPIHelper.rb in RightScaleAPIHelper-0.4.2

- old
+ new

@@ -9,23 +9,30 @@ # some internal use as of now. require 'net/http' require 'net/https' -# Initialize the connection. Provide headers for later use - def initialize(account, username, password, format = 'xml') +# Initialize the connection with account information. + # Return an object that can then later be used to make calls + # against the RightScale API without authenticating again. + # Inputs: format = xml or js + # version = 1.0 # 1.5 to be supported soon + def initialize(account, username, password, format = 'js', version = '1.0') # Set Default Variables rs_url = "https://my.rightscale.com" api_url = '/api/acct/' @api_call = "#{api_url}#{account}" @full_api_call = "#{rs_url}#{@api_call}" @formatting = "?format=#{format}" @conn = Net::HTTP.new('my.rightscale.com', 443) @conn.use_ssl=true #@conn.verify_mode = OpenSSL::SSL::VERIFY_NONE + if version != '1.0' + raise("Only version 1.0 is supported") + end - req = Net::HTTP::Get.new("#{@full_api_call}/login?api_version=1.0") + req = Net::HTTP::Get.new("#{@full_api_call}/login?api_version=#{version}") req.basic_auth( username, password ) resp = @conn.request(req) if resp.code.to_i != 204 puts resp.code raise("Failed to authenticate user.\n Http response code was #{resp.code}.") @@ -68,6 +75,6 @@ req = Net::HTTP::Put.new("#{@full_api_call}#{query}", @headers) req.set_form_data(values) resp = @conn.request(req) end end -end \ No newline at end of file +end