From c2fdca91cdcdd9828f460ffd08e6cbf43cc4bd4f Mon Sep 17 00:00:00 2001 From: Baoshuo Date: Sun, 19 Feb 2023 08:56:18 +0800 Subject: [PATCH] chore(remote_judger): prevent multiple request in ensureLogin() --- remote_judger/src/providers/codeforces.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/remote_judger/src/providers/codeforces.ts b/remote_judger/src/providers/codeforces.ts index eb17728..8ec9977 100644 --- a/remote_judger/src/providers/codeforces.ts +++ b/remote_judger/src/providers/codeforces.ts @@ -148,7 +148,7 @@ export default class CodeforcesProvider implements IBasicProvider { } async getCsrfToken(url: string, referer = '') { - const { text: html } = await this.get(url).set('Referer', referer); + const { text: html, header } = await this.get(url).set('Referer', referer); const { window: { document }, } = new JSDOM(html); @@ -164,6 +164,7 @@ export default class CodeforcesProvider implements IBasicProvider { )?.getAttribute('content'), ftaa, bfaa, + header, ]; } @@ -198,8 +199,7 @@ export default class CodeforcesProvider implements IBasicProvider { if (!this.account.handle) return false; - const [csrf, ftaa, bfaa] = await this.getCsrfToken('/enter'); - const { header } = await this.get('/enter'); + const [csrf, ftaa, bfaa, header] = await this.getCsrfToken('/enter'); if (header['set-cookie']) { this.cookie = header['set-cookie'];