Sends the real request to the real SoftLayer service.
@param [String] service
...ayer.com/rest/v3/Softlayer_Service_Name...
@param path [String]
...ayer.com/rest/v3/Softlayer_Service_Name/path.json
@param [Hash] options @option options [Array<Hash>] :body
HTTP request body parameters
@option options [String] :softlayer_api_url
Override the default (or configured) API endpoint
@option options [String] :softlayer_username
Email or user identifier for user based authentication
@option options [String] :softlayer_api_key
Password for user based authentication
@return [Excon::Response]
# File lib/fog/softlayer/core.rb, line 34 def self.slapi_request(service, path, options) # default HTTP method to get if not passed http_method = options[:http_method] || :get # set the target base url @request_url = options[:softlayer_api_url] || Fog::Softlayer::SL_API_URL # tack on the username and password credentialize_url(options[:username], options[:api_key]) # set the SoftLayer Service name set_sl_service(service) # set the request path (known as the "method" in SL docs) set_sl_path(path) # set the query params if any # build request params params = { :headers => user_agent_header } params[:headers]['Content-Type'] = 'application/json' params[:expects] = options[:expected] || [200,201] params[:body] = Fog::JSON.encode({:parameters => [ options[:body] ]}) unless options[:body].nil? params[:query] = options[:query] unless options[:query].nil? # initialize connection object @connection = Fog::Core::Connection.new(@request_url, false, params) # send it response = @connection.request(:method => http_method) # decode it response.body = Fog::JSON.decode(response.body) response end
Generated with the Darkfish Rdoc Generator 2.