Class: Morpheus::RestClient

Inherits:
Object
  • Object
show all
Defined in:
lib/morpheus/rest_client.rb

Overview

A wrapper around rest_client so we can more easily deal with passing options (like turning on/off SSL verification)

Class Method Summary collapse

Class Method Details

.enable_ssl_verification=(verify) ⇒ Object



43
44
45
# File 'lib/morpheus/rest_client.rb', line 43

def enable_ssl_verification=(verify)
  @@ssl_verification_enabled = verify
end

.execute(options) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/morpheus/rest_client.rb', line 20

def execute(options)
  opts = {timeout: 30}.merge(options)
  unless ssl_verification_enabled?
    opts[:verify_ssl] = OpenSSL::SSL::VERIFY_NONE
  end

  opts[:headers] ||= {}
  opts[:headers][:user_agent] ||= self.user_agent

  ::RestClient::Request.execute opts
end

.post(url, payload) ⇒ Object



31
32
33
# File 'lib/morpheus/rest_client.rb', line 31

def post(url, payload)
  execute url: url, payload: payload, method: :post
end

.ssl_verification_enabled?Boolean

Returns:

  • (Boolean)


35
36
37
38
39
40
41
# File 'lib/morpheus/rest_client.rb', line 35

def ssl_verification_enabled?
  begin
    @@ssl_verification_enabled.nil? ? true : @@ssl_verification_enabled
  rescue
    @@ssl_verification_enabled = true
  end
end

.user_agentObject



9
10
11
12
13
14
15
16
17
18
# File 'lib/morpheus/rest_client.rb', line 9

def user_agent
  if !@user_agent
    begin
      @user_agent = "morpheus-cli #{Morpheus::Cli::VERSION}"
      @user_agent = "#{@user_agent} (#{::RestClient::Platform.architecture}) #{::RestClient::Platform.ruby_agent_version}"
    rescue => e
    end
  end
  return @user_agent
end