From c472300a68f434451fa855b8fed9de2d88c604a1 Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Tue, 27 May 2025 08:59:34 -0700 Subject: [PATCH] fix(firefox): request body headers on redirect (#36068) --- packages/playwright-core/browsers.json | 4 ++-- tests/page/page-request-continue.spec.ts | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json index f03f1a7aec..903eb101cd 100644 --- a/packages/playwright-core/browsers.json +++ b/packages/playwright-core/browsers.json @@ -27,13 +27,13 @@ }, { "name": "firefox", - "revision": "1485", + "revision": "1486", "installByDefault": true, "browserVersion": "137.0" }, { "name": "firefox-beta", - "revision": "1481", + "revision": "1482", "installByDefault": false, "browserVersion": "138.0b10" }, diff --git a/tests/page/page-request-continue.spec.ts b/tests/page/page-request-continue.spec.ts index c19b2e5062..f7387d622d 100644 --- a/tests/page/page-request-continue.spec.ts +++ b/tests/page/page-request-continue.spec.ts @@ -563,6 +563,30 @@ it('continue should propagate headers to redirects', { expect(serverRequest.headers['custom']).toBe('value'); }); +it('continue should drop content-length on redirects', { + annotation: { type: 'issue', description: 'https://github.com/microsoft/playwright/issues/36029' } +}, async ({ page, server }) => { + await page.goto(server.EMPTY_PAGE); + + await server.setRedirect('/redirect', '/empty.html'); + await page.route('**/redirect', route => { + void route.continue({ + headers: { + ...route.request().headers(), + custom: 'value' + } + }); + }); + const [serverRequest] = await Promise.all([ + server.waitForRequest('/empty.html'), + page.evaluate(url => fetch(url, { method: 'POST', body: 'foo' }), server.PREFIX + '/redirect') + ]); + expect.soft(serverRequest.method).toBe('GET'); + expect.soft(serverRequest.headers['content-length']).toBeUndefined(); + expect.soft(serverRequest.headers['content-type']).toBeUndefined(); + expect.soft(serverRequest.headers['custom']).toBe('value'); +}); + it('redirected requests should report overridden headers', { annotation: [ { type: 'issue', description: 'https://github.com/microsoft/playwright/issues/31351' },