From 7e2acc513d833c868b4dba6c18cf6c463f5f753f Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Sat, 14 Sep 2024 12:15:54 +0200 Subject: [PATCH] `readable` and `data` are mutually exclusive --- packages/playwright-core/src/server/fetch.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/playwright-core/src/server/fetch.ts b/packages/playwright-core/src/server/fetch.ts index 8100e54a2f..0206b47a5e 100644 --- a/packages/playwright-core/src/server/fetch.ts +++ b/packages/playwright-core/src/server/fetch.ts @@ -319,8 +319,6 @@ export abstract class APIRequestContext extends SdkObject { let endAt: number | undefined; const request = requestConstructor(url, requestOptions as any, async response => { - response.once('readable', () => { firstByteAt = monotonicTime(); }); - const notifyRequestFinished = (body?: Buffer) => { const timings: har.Timings = { send: requestFinishAt! - startAt, @@ -476,7 +474,10 @@ export abstract class APIRequestContext extends SdkObject { body.on('error', reject); } - body.on('data', chunk => chunks.push(chunk)); + body.on('data', chunk => { + firstByteAt ??= monotonicTime(); + chunks.push(chunk); + }); body.on('end', notifyBodyFinished); }); request.on('error', error => reject(rewriteOpenSSLErrorIfNeeded(error)));