From 915a75908d7bcb51a5405c90f693940fa7d6c61a Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Fri, 21 Jun 2024 18:00:17 -0700 Subject: [PATCH] chore(route): wait for raw headers from browser in case of redirects 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); }