diff options
| author | tamaina <tamaina@hotmail.co.jp> | 2023-04-15 11:18:47 +0000 |
|---|---|---|
| committer | tamaina <tamaina@hotmail.co.jp> | 2023-04-15 11:19:00 +0000 |
| commit | 38fdc73d0142c2ca2e141c15a05ff1694f7768d2 (patch) | |
| tree | 1c4df80beddc19185895cefeeb97c756c19a862d /packages | |
| parent | feat(client): データセーバーモードの追加 (#10478) (diff) | |
| download | sharkey-38fdc73d0142c2ca2e141c15a05ff1694f7768d2.tar.gz sharkey-38fdc73d0142c2ca2e141c15a05ff1694f7768d2.tar.bz2 sharkey-38fdc73d0142c2ca2e141c15a05ff1694f7768d2.zip | |
Fix?(server): Content-Dispositionのパースでエラーが発生した場合にもダウンロードが完了するように
#10626
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/backend/src/core/DownloadService.ts | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/packages/backend/src/core/DownloadService.ts b/packages/backend/src/core/DownloadService.ts index bd999c67da..bd535c6032 100644 --- a/packages/backend/src/core/DownloadService.ts +++ b/packages/backend/src/core/DownloadService.ts @@ -86,9 +86,13 @@ export class DownloadService { const contentDisposition = res.headers['content-disposition']; if (contentDisposition != null) { - const parsed = parse(contentDisposition); - if (parsed.parameters.filename) { - filename = parsed.parameters.filename; + try { + const parsed = parse(contentDisposition); + if (parsed.parameters.filename) { + filename = parsed.parameters.filename; + } + } catch (e) { + this.logger.warn(`Failed to parse content-disposition: ${contentDisposition}`, { stack: e }); } } }).on('downloadProgress', (progress: Got.Progress) => { |