From 5ca8e17a2d62e146be9b4a290227e3b2f97d4bbf Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Thu, 22 Feb 2024 07:44:14 -0800 Subject: [PATCH] fix: resend overridden headers on redirect without merging (#29605) Reference https://github.com/microsoft/playwright/issues/13106 --- .../playwright-core/src/server/chromium/crNetworkManager.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/playwright-core/src/server/chromium/crNetworkManager.ts b/packages/playwright-core/src/server/chromium/crNetworkManager.ts index af9cb8fc82..f3952b82fd 100644 --- a/packages/playwright-core/src/server/chromium/crNetworkManager.ts +++ b/packages/playwright-core/src/server/chromium/crNetworkManager.ts @@ -287,11 +287,8 @@ export class CRNetworkManager { if (requestPausedEvent) { // We do not support intercepting redirects. if (redirectedFrom || (!this._userRequestInterceptionEnabled && this._protocolRequestInterceptionEnabled)) { - let headers = undefined; - const previousHeaderOverrides = redirectedFrom?._originalRequestRoute?._alreadyContinuedParams?.headers; // Chromium does not preserve header overrides between redirects, so we have to do it ourselves. - if (previousHeaderOverrides) - headers = network.mergeHeaders([headersObjectToArray(requestPausedEvent.request.headers, '\n'), previousHeaderOverrides]); + const headers = redirectedFrom?._originalRequestRoute?._alreadyContinuedParams?.headers; this._session._sendMayFail('Fetch.continueRequest', { requestId: requestPausedEvent.requestId, headers }); } else { route = new RouteImpl(this._session, requestPausedEvent.requestId);