From 69f84b4a280cdd6cde73894e4c875fa714c1f5e5 Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 27 Sep 2021 09:02:56 +0800 Subject: [PATCH] vjudge: throw error when codeforces not available --- packages/vjudge/package.json | 4 ++-- packages/vjudge/src/providers/codeforces.ts | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/vjudge/package.json b/packages/vjudge/package.json index 7c77023c..5bcf1e05 100644 --- a/packages/vjudge/package.json +++ b/packages/vjudge/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/vjudge", - "version": "1.3.8", + "version": "1.3.9", "description": "Submit problems to remote oj", "main": "package.json", "repository": "https://github.com/hydro-dev/Hydro.git", @@ -16,7 +16,7 @@ }, "devDependencies": { "@types/jsdom": "^16.2.13", - "@types/lodash": "^4.14.173", + "@types/lodash": "^4.14.174", "@types/superagent": "^4.1.13", "@types/superagent-proxy": "^2.0.1" } diff --git a/packages/vjudge/src/providers/codeforces.ts b/packages/vjudge/src/providers/codeforces.ts index 9b3a0999..04a2d352 100644 --- a/packages/vjudge/src/providers/codeforces.ts +++ b/packages/vjudge/src/providers/codeforces.ts @@ -73,6 +73,9 @@ export default class CodeforcesProvider implements IBasicProvider { this.cookie = header['set-cookie']; } const $dom = new JSDOM(html); + if ($dom.window.document.body.children.length < 2 && html.length < 1000) { + throw new Error($dom.window.document.body.textContent); + } return $dom.window.document.querySelector('meta[name="X-Csrf-Token"]').getAttribute('content'); }