From 2b12f53332abc0cac39026b1b2dea347bd1b497b Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Mon, 24 Jun 2024 12:25:12 -0700 Subject: [PATCH] chore(route): wait for raw headers from browser in case of redirects (#31410) Redirects are always autoresumed, so the will always receive extra info with raw headers. We only want to make raw headers available immediately when there is a route. Reference https://github.com/microsoft/playwright/issues/31351 --- .../playwright-core/src/server/chromium/crNetworkManager.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/playwright-core/src/server/chromium/crNetworkManager.ts b/packages/playwright-core/src/server/chromium/crNetworkManager.ts index 42dd6a640e..850f466afa 100644 --- a/packages/playwright-core/src/server/chromium/crNetworkManager.ts +++ b/packages/playwright-core/src/server/chromium/crNetworkManager.ts @@ -359,11 +359,11 @@ export class CRNetworkManager { }); this._requestIdToRequest.set(requestWillBeSentEvent.requestId, request); - if (requestPausedEvent) { - // We will not receive extra info when intercepting the request. + if (route) { + // We may not receive extra info when intercepting the request. // Use the headers from the Fetch.requestPausedPayload and release the allHeaders() // right away, so that client can call it from the route handler. - request.request.setRawRequestHeaders(headersOverride ?? headersObjectToArray(requestPausedEvent.request.headers, '\n')); + request.request.setRawRequestHeaders(headersObjectToArray(requestPausedEvent!.request.headers, '\n')); } (this._page?._frameManager || this._serviceWorker)!.requestStarted(request.request, route || undefined); }