diff --git a/src/adapters/_node/request.ts b/src/adapters/_node/request.ts index 1c4653b4..593514c9 100644 --- a/src/adapters/_node/request.ts +++ b/src/adapters/_node/request.ts @@ -85,9 +85,12 @@ export const NodeRequest: { get signal() { if (!this.#abortSignal) { this.#abortSignal = new AbortController(); - this._node.req.once("close", () => { - this.#abortSignal?.abort(); - }); + const req = this._node.req; + const abort = (err?: any) => { + this.#abortSignal?.abort(err); + }; + req.once("error", abort); + req.once("end", abort); } return this.#abortSignal.signal; } diff --git a/test/_tests.ts b/test/_tests.ts index d7ec9691..2e904567 100644 --- a/test/_tests.ts +++ b/test/_tests.ts @@ -121,7 +121,7 @@ export function addTests(opts: { const aborts = await fetch(url("/abort-log")).then((res) => res.json()); const abort = aborts.find((a: any) => a.request === "GET /abort"); expect(abort).toBeDefined(); - expect(abort.reason).toMatch(/AbortError:/); + expect(abort.reason).toMatch(/AbortError:|aborted/); }); test("total aborts", async () => {