def self.get_version(supported_versions, uri, auth_token, connection_options = {})
version_cache = "#{uri}#{supported_versions}"
return @version[version_cache] if @version && @version[version_cache]
connection = Fog::Core::Connection.new("#{uri.scheme}://#{uri.host}:#{uri.port}", false, connection_options)
response = connection.request(
:expects => [200, 204, 300],
:headers => {'Content-Type' => 'application/json',
'Accept' => 'application/json',
'X-Auth-Token' => auth_token},
:method => 'GET'
)
body = Fog::JSON.decode(response.body)
@version = {} unless @version
@version[version_cache] = extract_version_from_body(body, supported_versions)
end