From 8533d4d718f056adcab4e40492bf5992eafb38f6 Mon Sep 17 00:00:00 2001 From: Paul Carroll Date: Thu, 1 Dec 2022 14:07:13 -0500 Subject: [PATCH] do not limit recursion into lists --- lib/BaseDownloadController.js | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/lib/BaseDownloadController.js b/lib/BaseDownloadController.js index 21058e5..653bf83 100644 --- a/lib/BaseDownloadController.js +++ b/lib/BaseDownloadController.js @@ -165,25 +165,21 @@ module.exports = class BaseDownloadController extends CompositeController { if (Array.isArray(file)) { let error; let res = await Promise.all(file.map(async f => { - return this.limit(async () => { - try { - return await this._decomposeFile(f); - } catch (e) { - error = error || e; - } - }); + try { + return await this._decomposeFile(f); + } catch (e) { + error = error || e; + } })); return error ? Promise.reject(error) : res; } else if (kind.toLowerCase() == 'list' && Array.isArray(items)) { let error; let res = await Promise.all(items.map(async f => { - return this.limit(async () => { - try { - return await this._decomposeFile(f); - } catch (e) { - error = error || e; - } - }); + try { + return await this._decomposeFile(f); + } catch (e) { + error = error || e; + } })); return error ? Promise.reject(error) : res; } else if (file) { @@ -259,7 +255,10 @@ module.exports = class BaseDownloadController extends CompositeController { } async _saveChild(child) { - let res = await this.applyChild(child); + let res = await this.limit(async () => { + return await this.applyChild(child); + }); + if (!res.statusCode || res.statusCode < 200 || res.statusCode >= 300) { return Promise.reject(res); }