Method: Compliance::API.version

Defined in:
lib/bundles/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)



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/bundles/inspec-compliance/api.rb', line 85

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

  raise ServerConfigurationMissing if url.nil?

  headers = get_headers(config)
  response = 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