From 81c7b9c4fd258e648d217b22c3f78959ee2e4aef Mon Sep 17 00:00:00 2001 From: root Date: Thu, 16 Jul 2026 11:01:24 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=B9=E9=BD=90=E8=AF=84=E5=88=86?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E8=B6=85=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin-http-client.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/admin-http-client.ts b/src/admin-http-client.ts index 5aa3465..6df6cbe 100644 --- a/src/admin-http-client.ts +++ b/src/admin-http-client.ts @@ -8,14 +8,14 @@ export class AdminHttpClient { this.token = readSecret(config, target.adminToken); } - private async request(path: string, init: RequestInit = {}): Promise { + private async request(path: string, init: RequestInit = {}, timeoutMs = this.config.sub2api.requestTimeoutMs): Promise { const headers = new Headers(init.headers); headers.set("authorization", `Bearer ${this.token}`); if (init.body) headers.set("content-type", "application/json"); const response = await fetch(`${this.target.baseUrl.replace(/\/$/u, "")}${path}`, { ...init, headers, - signal: AbortSignal.timeout(this.config.sub2api.requestTimeoutMs), + signal: AbortSignal.timeout(timeoutMs), }); const payload = await response.json().catch(() => null) as { ok?: boolean; error?: string } | null; if (!response.ok || !payload) throw new Error(payload?.error ?? `ApiState API failed with HTTP ${response.status}`); @@ -33,7 +33,9 @@ export class AdminHttpClient { creditTest(execute: boolean): Promise> { return this.request("/api/admin/credit-test", { method: "POST", body: JSON.stringify({ execute }) }); } serviceStatus(): Promise> { return this.request("/api/status"); } scores(): Promise> { return this.request("/api/scores"); } - refreshScores(): Promise> { return this.request("/api/scores/refresh", { method: "POST", body: "{}" }); } + refreshScores(): Promise> { + return this.request("/api/scores/refresh", { method: "POST", body: "{}" }, this.config.monitor.cli.timeoutMs + 5_000); + } ranking(): Promise> { return this.request("/api/ranking"); } lottery(): Promise> { return this.request("/api/lottery"); } }