Method: InspecPlugins::Compliance::API.version

Defined in:
lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb

.version(config) ⇒ Object

return the server api version NB this method does not use Compliance::Configuration to allow for using it before we know the version (e.g. oidc or not)



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb', line 97

def self.version(config)
  url = config["server"]
  insecure = config["insecure"]

  raise ServerConfigurationMissing if url.nil?

  headers = get_headers(config)
  response = InspecPlugins::Compliance::HTTP.get(url + "/version", headers, insecure)
  return {} if response.code == "404"

  data = response.body
  return {} if data.nil? || data.empty?

  parsed = JSON.parse(data)
  return {} unless parsed.key?("version") && !parsed["version"].empty?

  parsed
end