code: def http_query(self, method, path, data=None, dont_connect=False, **kwargs):
          
  
          if not self._connected and not dont_connect:
              if self._id == "vm" and not self._controller.gns3vm.running:
                  yield from self._controller.gns3vm.start()
              yield from self.connect()
          if not self._connected and not dont_connect:
              raise ComputeError("Cannot connect to compute '{}' with request {} {}".format(self._name, method, path))
          response = yield from self._run_http_query(method, path, data=data, **kwargs)
          return response
docs: :param dont_connect: If true do not reconnect if not connected