From 08c6678af162ad02b5ed14d24e374eff9810229d Mon Sep 17 00:00:00 2001 From: Sebastian-Webster <84299475+Sebastian-Webster@users.noreply.github.com> Date: Wed, 12 Feb 2025 22:14:44 +0400 Subject: [PATCH] fix request not properly being destroyed --- src/libraries/Downloader.ts | 40 ++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/libraries/Downloader.ts b/src/libraries/Downloader.ts index a2072a12..a47665c1 100644 --- a/src/libraries/Downloader.ts +++ b/src/libraries/Downloader.ts @@ -65,15 +65,19 @@ function downloadFromCDN(url: string, downloadLocation: string, logger: Logger): request.on('error', (err) => { error = err; logger.error(err) - request.end(() => { - fileStream.end(() => { - fs.rm(downloadLocation, {force: true}, (rmError) => { - if (rmError) { - logger.error('An error occurred while deleting downloadLocation after an error occurred with the MySQL server binary download. The error was:', rmError) - } - - reject(err.message); - }) + request.destroy(); + + fileStream.end((err) => { + if (err) { + logger.error('An error occurred while closing the fileStream on request error. The error was:', err) + } + + fs.rm(downloadLocation, {force: true}, (rmError) => { + if (rmError) { + logger.error('An error occurred while deleting downloadLocation after an error occurred with the MySQL server binary download. The error was:', rmError) + } + + reject(err.message); }) }) }) @@ -81,15 +85,15 @@ function downloadFromCDN(url: string, downloadLocation: string, logger: Logger): fileStream.on('error', (err) => { error = err; logger.error(err) - request.end(() => { - fileStream.end(() => { - fs.rm(downloadLocation, {force: true}, (rmError) => { - if (rmError) { - logger.error('An error occurred while deleting downloadLocation after an error occurred with the fileStream. The error was:', rmError) - } - - reject(err.message) - }) + request.destroy(); + + fileStream.end(() => { + fs.rm(downloadLocation, {force: true}, (rmError) => { + if (rmError) { + logger.error('An error occurred while deleting downloadLocation after an error occurred with the fileStream. The error was:', rmError) + } + + reject(err.message) }) }) })