var downloadCache = function()

in src/npm/hash-and-cache.js [167:203]


var downloadCache = function (hash, storageAccount, storageContainer, storageKey, targetPath) {
  console.log("Downloading Blob...");
  console.log("hash: " + hash);
  console.log("storageAccount: " + storageAccount);
  console.log("storageContainer: " + storageContainer);
  console.log("targetPath: " + targetPath);

  if (storageAccount && storageContainer && storageKey) {
    var blobName = hash + ".tgz";
    var downloadFile = path.join(targetPath, blobName);

    mkdirp.sync(targetPath);

    var blobService = azureStorage.createBlobService(storageAccount, storageKey);

    var blobOptions = {
      timeoutIntervalInMs: 3600000,
      clientRequestTimeoutInMs: 3600000,
      maximumExecutionTimeInMs: 3600000
    }

    var downloadPromise = new Promise((resolve, reject) => {
      blobService.getBlobToLocalFile(storageContainer, blobName, downloadFile, blobOptions, err => {
        if (err) {
          resolve(false);
        } else {
          resolve(true);
        }
      });
    });

    return downloadPromise;
  }

  console.log("Storage Account details missing - skipping cache download");
  return new Promise((resolve, reject) => resolve(false));
}