module Fog::Oracle::Core
Public Instance Methods
core_initialize(options)
click to toggle source
# File lib/fog/oracle/core.rb, line 50 def core_initialize(options) @api_url = options[:oracle_url] @username = options[:oracle_username] @password = options[:oracle_password] @connection_options = options[:connection_options] || {} @persistent = options[:persistent] || false @connection = Fog::XML::Connection.new(@api_url, @persistent, @connection_options) end
escape(str)
click to toggle source
# File lib/fog/oracle/core.rb, line 59 def escape(str) str.gsub(/([^a-zA-Z0-9_.-]+)/) do '%' + $1.unpack('H2' * $1.bytesize).join('%').upcase end end
request(opts)
click to toggle source
# File lib/fog/oracle/core.rb, line 65 def request(opts) opts[:path] = '/ovm/core/wsapi/rest/' + opts[:path] hash = Base64.encode64(@username + ":" + @password).delete("\r\n") opts[:headers] = { "Accept" => "application/json", 'Authorization' => "Basic #{hash}" }.merge(opts[:headers] || {}) if opts[:body] opts[:headers]["Content-Type"] = "application/json" opts[:body] = json_encode(opts[:body]) end response = @connection.request(opts) if response.headers["Content-Type"] == "application/json" response.body = json_decode(response.body) end # puts @api_url, opts, response response end