Skip to content

chore(bidi): remove request body headers from overrides for redirected requests#39106

Merged
yury-s merged 1 commit intomicrosoft:mainfrom
hbenl:redirected-request-body-headers
Feb 4, 2026
Merged

chore(bidi): remove request body headers from overrides for redirected requests#39106
yury-s merged 1 commit intomicrosoft:mainfrom
hbenl:redirected-request-body-headers

Conversation

@hbenl
Copy link
Collaborator

@hbenl hbenl commented Feb 3, 2026

Fixes "continue should drop content-length on redirects" in page/page-request-continue.spec.ts.

Note that according to the spec (step 12) browsers look at the redirect response status and the original request's method to decide whether to remove the request's body (and change its method) but we don't have sync access to the original request's reponse, so we always remove the request body headers when the redirect turned a POST into a GET request. Since GET requests should never have a body, this should be safe.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

Test results for "tests 1"

4 failed
❌ [playwright-test] › expect.spec.ts:57 › should include custom expect message with web-first assertions @macos-latest-node20
❌ [playwright-test] › playwright.trace.spec.ts:345 › should retain traces for interrupted tests @macos-latest-node20
❌ [playwright-test] › update-aria-snapshot.spec.ts:669 › update-source-method › should overwrite source when specified in the config @macos-latest-node20
❌ [playwright-test] › ui-mode-test-network-tab.spec.ts:301 › should copy network request @windows-latest-node20

2 flaky ⚠️ [firefox-library] › library/inspector/cli-codegen-1.spec.ts:1082 › cli codegen › should not throw csp directive violation errors `@firefox-ubuntu-22.04-node20`
⚠️ [playwright-test] › ui-mode-trace.spec.ts:700 › should indicate current test status `@macos-latest-node20`

34271 passed, 662 skipped


Merge workflow run.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

Test results for "MCP"

40 failed
❌ [firefox] › mcp/files.spec.ts:106 › clicking on download link emits download @mcp-ubuntu-latest
❌ [chrome] › mcp/console.spec.ts:198 › console log file is created on snapshot @mcp-windows-latest
❌ [chrome] › mcp/network.spec.ts:75 › network log file is returned on snapshot @mcp-windows-latest
❌ [chrome] › mcp/network.spec.ts:118 › network log file separates requests and assets @mcp-windows-latest
❌ [chrome] › mcp/network.spec.ts:168 › network log file stores method and status @mcp-windows-latest
❌ [chrome] › mcp/network.spec.ts:209 › new network log file after navigation @mcp-windows-latest
❌ [chrome] › mcp/session-log.spec.ts:22 › session log should record tool calls @mcp-windows-latest
❌ [chromium] › mcp/console.spec.ts:198 › console log file is created on snapshot @mcp-windows-latest
❌ [chromium] › mcp/network.spec.ts:75 › network log file is returned on snapshot @mcp-windows-latest
❌ [chromium] › mcp/network.spec.ts:118 › network log file separates requests and assets @mcp-windows-latest
❌ [chromium] › mcp/network.spec.ts:168 › network log file stores method and status @mcp-windows-latest
❌ [chromium] › mcp/network.spec.ts:209 › new network log file after navigation @mcp-windows-latest
❌ [chromium] › mcp/session-log.spec.ts:22 › session log should record tool calls @mcp-windows-latest
❌ [firefox] › mcp/console.spec.ts:198 › console log file is created on snapshot @mcp-windows-latest
❌ [firefox] › mcp/files.spec.ts:106 › clicking on download link emits download @mcp-windows-latest
❌ [firefox] › mcp/network.spec.ts:75 › network log file is returned on snapshot @mcp-windows-latest
❌ [firefox] › mcp/network.spec.ts:118 › network log file separates requests and assets @mcp-windows-latest
❌ [firefox] › mcp/network.spec.ts:168 › network log file stores method and status @mcp-windows-latest
❌ [firefox] › mcp/network.spec.ts:209 › new network log file after navigation @mcp-windows-latest
❌ [firefox] › mcp/session-log.spec.ts:22 › session log should record tool calls @mcp-windows-latest
❌ [webkit] › mcp/console.spec.ts:198 › console log file is created on snapshot @mcp-windows-latest
❌ [webkit] › mcp/network.spec.ts:75 › network log file is returned on snapshot @mcp-windows-latest
❌ [webkit] › mcp/network.spec.ts:118 › network log file separates requests and assets @mcp-windows-latest
❌ [webkit] › mcp/network.spec.ts:168 › network log file stores method and status @mcp-windows-latest
❌ [webkit] › mcp/network.spec.ts:209 › new network log file after navigation @mcp-windows-latest
❌ [msedge] › mcp/console.spec.ts:198 › console log file is created on snapshot @mcp-windows-latest
❌ [msedge] › mcp/network.spec.ts:75 › network log file is returned on snapshot @mcp-windows-latest
❌ [msedge] › mcp/network.spec.ts:118 › network log file separates requests and assets @mcp-windows-latest
❌ [msedge] › mcp/network.spec.ts:168 › network log file stores method and status @mcp-windows-latest
❌ [msedge] › mcp/network.spec.ts:209 › new network log file after navigation @mcp-windows-latest
❌ [msedge] › mcp/session-log.spec.ts:22 › session log should record tool calls @mcp-windows-latest
❌ [chrome] › mcp/cli-session.spec.ts:20 › session-list @mcp-macos-15
❌ [chrome] › mcp/launch.spec.ts:21 › test reopen browser @mcp-macos-15
❌ [chromium] › mcp/cli-core.spec.ts:89 › hover @mcp-macos-15
❌ [chromium] › mcp/cli-save-as.spec.ts:19 › screenshot @mcp-macos-15
❌ [chromium] › mcp/launch.spec.ts:21 › test reopen browser @mcp-macos-15
❌ [chromium] › mcp/video.spec.ts:23 › should work with --save-video (persistent) @mcp-macos-15
❌ [firefox] › mcp/cli-core.spec.ts:22 › open @mcp-macos-15
❌ [firefox] › mcp/files.spec.ts:106 › clicking on download link emits download @mcp-macos-15
❌ [webkit] › mcp/cli-misc.spec.ts:30 › old client @mcp-macos-15

4531 passed, 135 skipped


Merge workflow run.

import type * as types from '../types';
import type { BidiSession } from './bidiConnection';

const REQUEST_BODY_HEADERS = new Set(['content-encoding', 'content-language', 'content-location', 'content-type']);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is 'content-length' intentionally omitted?

Note that have similar logic for out fetch API here.

@yury-s yury-s merged commit 3ad519c into microsoft:main Feb 4, 2026
26 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants