Performs one API request.
        Raises exception on failure.

        :param request:
        :param args:
        :param kwargs:
        :return: response

def call_once(self, request=None, *args, **kwargs):
        """
        Performs one API request.
        Raises exception on failure.

        :param request:
        :param args:
        :param kwargs:
        :return: response
        """
        if request is not None:
            self.request = request

        config = self.request.configuration
        if config.http_method != EBConsts.HTTP_METHOD_POST or config.method != EBConsts.METHOD_REST:
            raise Error('Not implemented yet, only REST POST method is allowed')

        url = self.request.url if self.request.url is not None else self.build_url()
        logger.debug("URL to call: %s", url)

        # Do the request
        resp = requests.post(url, json=self.request.body, timeout=config.timeout, headers=self.request.headers)
        self.last_resp = resp
        return self.check_response(resp)