From 5c3b13be828d99bc17c3345cdb62834b121ed5e9 Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 29 Oct 2021 18:01:07 +0800 Subject: [PATCH] judge: also catch get error --- packages/hydrojudge/package.json | 2 +- packages/hydrojudge/src/hosts/hydro.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/hydrojudge/package.json b/packages/hydrojudge/package.json index d1aa23d89..72bf9c614 100644 --- a/packages/hydrojudge/package.json +++ b/packages/hydrojudge/package.json @@ -1,7 +1,7 @@ { "name": "@hydrooj/hydrojudge", "bin": "bin/hydrojudge.js", - "version": "2.12.4", + "version": "2.12.5", "main": "package.json", "author": "undefined ", "repository": "https://github.com/hydro-dev/Hydro.git", diff --git a/packages/hydrojudge/src/hosts/hydro.ts b/packages/hydrojudge/src/hosts/hydro.ts index 760aefee1..7c6ec2d78 100644 --- a/packages/hydrojudge/src/hosts/hydro.ts +++ b/packages/hydrojudge/src/hosts/hydro.ts @@ -207,7 +207,9 @@ export default class Hydro { // eslint-disable-next-line no-inner-declarations async function download(name: string) { if (name.includes('/')) await fs.ensureDir(path.join(filePath, name.split('/')[0])); - const f = await this.axios.get(res.data.links[name], { responseType: 'stream' }); + const f = await this.axios.get(res.data.links[name], { responseType: 'stream' }) + .catch((e) => new Error(`DownloadFail(${name}): ${e.message}`)); + if (f instanceof Error) throw f; const w = fs.createWriteStream(path.join(filePath, name)); f.data.pipe(w); await new Promise((resolve, reject) => {