# 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