function downloadPackage()

in utils/composumpackager.js [151:191]


function downloadPackage(data) {
    if(data.filePath) {
        data.serviceURL = data.url + "/bin/cpm/package.download.zip" + data.package;
        callGetService(data, (error, response) => {
            if(error) {
                logger.error("Unable to download package.");
                process.exit(1);
            } else {
                if(fs.existsSync(data.filePath)) {
                    var stats = fs.statSync(data.filePath);
                    logger.log("Package downloaded.");
                    logger.log(stats.size + " " + data.filePath);
                }
            }
        }, true).pipe(fs.createWriteStream(data.filePath));;
    } else {
        data.serviceURL = data.url + listEndpoint;
        let req = callGetService(data, (error, response) => {
            if(error) {
                logger.error("Unable to download package.");
                process.exit(1);
            } else {
                var packages = response.children ? response.children : response;
                for (var i = 0; i < packages.length; i++) {
                    if(packages[i].type === 'package' && isPackage(packages[i], data.package)) {
                        let fileName = packages[i].file;
                        let filePath = path.join(data.destination, fileName);
                        data.filePath = filePath;
                        data.package = packages[i].path;
                        downloadPackage(data);
                        return;
                    }
                }

                logger.error("Unable to download package. Package " + data.package + " is not found on server.");
            }
        }, false);

        logger.debug("Request: ", JSON.stringify(req.toJSON(), undefined, '   '));
    }
}