class Rancher::Shell::Api
Constants
- DEFAULT_OPTIONS
Public Class Methods
new(options = {})
click to toggle source
# File lib/rancher/shell/api.rb, line 14 def initialize options = {} @options = DEFAULT_OPTIONS.merge options end
Public Instance Methods
get(resource, data = nil, headers = {})
click to toggle source
# File lib/rancher/shell/api.rb, line 18 def get resource, data = nil, headers = {} request :get, resource, nil, headers end
post(resource, data, headers = {})
click to toggle source
# File lib/rancher/shell/api.rb, line 22 def post resource, data, headers = {} request :post, resource, data, headers end
request(method_name, resource, data, headers)
click to toggle source
# File lib/rancher/shell/api.rb, line 26 def request method_name, resource, data, headers uri = URI "https://#{@options[:host]}/v1/#{resource}" Net::HTTP.start uri.host, uri.port, use_ssl: true do |http| method_class_name = "Net::HTTP::#{method_name.to_s.split('_').map(&:capitalize).join}" method_class = Object.const_get method_class_name request = method_class.new uri request.basic_auth @options[:user], @options[:pass] request.set_form_data data if method_name === :post ApiResponse.new http.request request end end