Skip to content

Commit

Permalink
additional error handling
Browse files Browse the repository at this point in the history
  • Loading branch information
inlife committed Jan 29, 2025
1 parent 50f8168 commit 4442db5
Showing 1 changed file with 21 additions and 8 deletions.
29 changes: 21 additions & 8 deletions packages/nexrender-core/src/tasks/download.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,19 @@ const download = (job, settings, asset) => {

settings.logger.log(`[${job.uid}] > Downloading asset ${asset.src}...`);

// eslint-disable-next-line
const uri = global.URL ? new URL(asset.src) : url.parse(asset.src)
const protocol = uri.protocol.replace(/:$/, '');
let uri;
let protocol;
let destName = '';

try {
// eslint-disable-next-line
uri = global.URL ? new URL(asset.src) : url.parse(asset.src)
protocol = uri.protocol.replace(/:$/, '');
} catch (error) {
settings.logger.log(`[download] error parsing asset ${asset.src}: ${error}`);
return Promise.reject(error);
}

/* if asset doesnt have a file name, make up a random one */
if (protocol === 'data' && !asset.layerName) {
destName = Math.random().toString(36).substring(2);
Expand Down Expand Up @@ -181,10 +189,15 @@ const download = (job, settings, asset) => {
module.exports = function(job, settings) {
settings.logger.log(`[${job.uid}] downloading assets...`)

const promises = [].concat(
download(job, settings, job.template),
job.assets.map(asset => download(job, settings, asset))
)
try {
const promises = [].concat(
download(job, settings, job.template),
job.assets.map(asset => download(job, settings, asset))
)

return Promise.all(promises).then(() => job);
return Promise.all(promises).then(() => job);
} catch (error) {
settings.logger.log(`[download] error downloading assets: ${error}`);
return Promise.reject(error);
}
}

0 comments on commit 4442db5

Please sign in to comment.