:param dont_connect: If true do not reconnect if not connected

def http_query(self, method, path, data=None, dont_connect=False, **kwargs):
        """
        :param dont_connect: If true do not reconnect if not connected
        """

        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