Calls the request with input data using given configuration (retry, timeout, ...).
        :param input_data:
        :param args:
        :param kwargs:
        :return:

def call(self, input_data=None, *args, **kwargs):
        """
        Calls the request with input data using given configuration (retry, timeout, ...).
        :param input_data:
        :param args:
        :param kwargs:
        :return:
        """
        self.build_request(input_data)
        self.caller = RequestCall(self.request)
        self.exception = None

        try:
            self.caller.call()
            self.response = self.caller.response
            self.decrypt_result()
            return self.decrypted

        except Exception as e:
            self.exception = e
            logger.info("Exception throw %s", e)
        pass