def post(self, path, params=None, timeout=None, event_timeout=None):
        """Synchronously calls a method

        Args:
            path (list): The path to post to
            params (dict): parameters for the call
            timeout (float): time in seconds to wait for responses, wait
                forever if None
            event_timeout: maximum time in seconds to wait between each response
                event, wait forever if None

        Returns:
            the result from 'method'
        """
        future = self.post_async(path, params)
        self.wait_all_futures(
            future, timeout=timeout, event_timeout=event_timeout)
        return future.result()
Synchronously calls a method

        Args:
            path (list): The path to post to
            params (dict): parameters for the call
            timeout (float): time in seconds to wait for responses, wait
                forever if None
            event_timeout: maximum time in seconds to wait between each response
                event, wait forever if None

        Returns:
            the result from 'method'