fix: resend overridden headers on redirect without merging (#29605)
Reference https://github.com/microsoft/playwright/issues/13106
This commit is contained in:
parent
e846afeb98
commit
5ca8e17a2d
|
|
@ -287,11 +287,8 @@ export class CRNetworkManager {
|
||||||
if (requestPausedEvent) {
|
if (requestPausedEvent) {
|
||||||
// We do not support intercepting redirects.
|
// We do not support intercepting redirects.
|
||||||
if (redirectedFrom || (!this._userRequestInterceptionEnabled && this._protocolRequestInterceptionEnabled)) {
|
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.
|
// Chromium does not preserve header overrides between redirects, so we have to do it ourselves.
|
||||||
if (previousHeaderOverrides)
|
const headers = redirectedFrom?._originalRequestRoute?._alreadyContinuedParams?.headers;
|
||||||
headers = network.mergeHeaders([headersObjectToArray(requestPausedEvent.request.headers, '\n'), previousHeaderOverrides]);
|
|
||||||
this._session._sendMayFail('Fetch.continueRequest', { requestId: requestPausedEvent.requestId, headers });
|
this._session._sendMayFail('Fetch.continueRequest', { requestId: requestPausedEvent.requestId, headers });
|
||||||
} else {
|
} else {
|
||||||
route = new RouteImpl(this._session, requestPausedEvent.requestId);
|
route = new RouteImpl(this._session, requestPausedEvent.requestId);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue