# File lib/ohai/mixin/gce_metadata.rb, line 57 def fetch_metadata(id='') uri = "#{GCE_METADATA_URL}/#{id}" response = http_client.get(uri) return nil unless response.code == "200" if json?(response.body) data = StringIO.new(response.body) parser = FFI_Yajl::Parser.new parser.parse(data) elsif has_trailing_slash?(id) or (id == '') temp={} response.body.split("\n").each do |sub_attr| temp[sanitize_key(sub_attr)] = fetch_metadata("#{id}#{sub_attr}") end temp else response.body end end