code: function handleDownloadFailure(message) {
          console.log("AutoUpdate : Download of latest installer failed in Attempt " +
              (MAX_DOWNLOAD_ATTEMPTS - downloadAttemptsRemaining) + ".\n Reason : " + message);
  
          if (downloadAttemptsRemaining) {
  
              // Retry the downloading
              attemptToDownload();
          } else {
  
              // Download could not completed, all attempts exhausted
              enableCheckForUpdateEntry(true);
              UpdateStatus.cleanUpdateStatus();
  
              var descriptionMessage = "",
                  analyticsDescriptionMessage = "";
              if (message === _nodeErrorMessages.DOWNLOAD_ERROR) {
                  descriptionMessage = Strings.DOWNLOAD_ERROR;
                  analyticsDescriptionMessage = "Error occurred while downloading.";
              } else if (message === _nodeErrorMessages.NETWORK_SLOW_OR_DISCONNECTED) {
                  descriptionMessage = Strings.NETWORK_SLOW_OR_DISCONNECTED;
                  analyticsDescriptionMessage = "Network is Disconnected or too slow.";
              }
              HealthLogger.sendAnalyticsData(
                  autoUpdateEventNames.AUTOUPDATE_DOWNLOAD_FAILED,
                  "autoUpdate",
                  "download",
                  "fail",
                  analyticsDescriptionMessage
              );
              UpdateInfoBar.showUpdateBar({
                  type: "error",
                  title: Strings.DOWNLOAD_FAILED,
                  description: descriptionMessage
              });
  
              setUpdateStateInJSON("autoUpdateInProgress", false);
          }
  
      }
docs: Handles the download failure callback from Node
  @param {string} message - reason of download failure