diff --git a/src/lib/Downloader.ts b/src/lib/Downloader.ts index c0584a1..82644f7 100644 --- a/src/lib/Downloader.ts +++ b/src/lib/Downloader.ts @@ -67,12 +67,21 @@ export class Downloader extends DownloaderBase { } } catch(err) { + + debug('in fetch', 'err', err); + if(err.code === 'ENOTFOUND' && this.options.useCaches) { + console.info('DNS lookup fails, use local caches at this time.'); + return path; + } + else if(err.code === 'EAI_AGAIN' && this.options.useCaches) { + console.info('DNS lookup timeout, use local caches at this time.'); return path; } else { throw err; } + } await this.download(url, filename, path, showProgress); diff --git a/src/lib/FFmpegDownloader.ts b/src/lib/FFmpegDownloader.ts index c39e2a6..fe03ea4 100644 --- a/src/lib/FFmpegDownloader.ts +++ b/src/lib/FFmpegDownloader.ts @@ -76,12 +76,21 @@ export class FFmpegDownloader extends DownloaderBase { } } catch(err) { + + debug('in fetch', 'err', err); + if(err.code === 'ENOTFOUND' && this.options.useCaches) { + console.info('DNS lookup fails, use local caches at this time.'); + return path; + } + else if(err.code === 'EAI_AGAIN' && this.options.useCaches) { + console.info('DNS lookup timeout, use local caches at this time.'); return path; } else { throw err; } + } await this.download(url, filename, path, showProgress);