Network I/O adding transfer-encoding header to PUT on Windows

Issue

Both fetch and XMLHttpRequest are adding an unwanted header transfer-encoding: chunked to any request with the method PUT on Windows only, macOS is fine.

Steps to reproduce

  • make a fetch request with method PUT

Expected Behavior

No transfer-encoding header should be set, as the content-length is known

Actual Behavior

On Windows, transfer-encoding: chunked header is set.
On MacOS, no transfer-encoding header

Additional information

You can use https://webhook.site as an endpoint to test what headers the PUT request is sent with.

If it matters, I’m testing on the prerelease 21.0.25.1

It’s not possible to use fetch headers{} or setRequestHeader, as transfer-encoding is considered unsafe, so you are forbidden from setting it manually

Thanks for reporting this potential bug. We will review this internally.

1 Like

Thanks for filing this; I’ve reached out to the internal engineering teams to see why the header is being set.

Confirmed this behavior is observed on PUT and POST requests