code: def post_with_retries(
      uri, input_data, headers=None, max_retries=4, retry_delay=60
  ):
      """Send a post request to a webservice with exponential backoff.
  
      :param uri: The URI to send the post request to.
      :type uri: str
      :param input_data: The data to send in the post request.
      :type input_data: dict
      :param headers: The optional headers to send with the post request.
      :type headers: dict
      :param max_retries: The maximum number of retries.
      :type max_retries: int
      :param retry_delay: The delay between retries.
      :type retry_delay: int
      :return: The response from the post request.
      :rtype: requests.Response
      """
      post = Post(uri, input_data, headers)
      action_name = "Post"
      err_msg = "Unable to post to web service"
      return retry_function(
          post.post,
          action_name,
          err_msg,
          max_retries=max_retries,
          retry_delay=retry_delay,
      )
  
imports: import requests
  from raiutils.common.retries import retry_function
label_desc: Use image node_id 1 for calling a global function with example usage: post_with_retries(uri, input_data, headers, max_retries, retry_delay) and returns: retry_function