If the server responds with a 407, fetch will fail in node with the following error.
Error: TypeError: fetch failed
at node:internal/deps/undici/undici:12344:11
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async fetch407Endpoint (fourZeroSeven/fetch.js:22:22) {
cause: Error
at makeNetworkError (node:internal/deps/undici/undici:5585:35)
at httpNetworkOrCacheFetch (node:internal/deps/undici/undici:10731:18)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async httpFetch (node:internal/deps/undici/undici:10545:37)
at async node:internal/deps/undici/undici:10342:20
at async mainFetch (node:internal/deps/undici/undici:10332:20)
}
Sending the same request with cURL or fetch in Firefox results in the expected response with a 407 status
I have more details and a simple reproduction of the error in this repo https://github.com/demergent-labs/fourZeroSeven
Node.js version
I have tried on the following node version: v18.18.0, v20.11.0 and v21.6.1
Example code
Here is the endpoint on the server
// Endpoint for 407 response
app.get('/407', (req, res) => {
res.status(407).send('This is a 407 Proxy Authentication Required response.');
});
Details
If the server responds with a 407, fetch will fail in node with the following error.
Sending the same request with cURL or fetch in Firefox results in the expected response with a 407 status I have more details and a simple reproduction of the error in this repo https://github.com/demergent-labs/fourZeroSeven
Node.js version
I have tried on the following node version: v18.18.0, v20.11.0 and v21.6.1
Example code
Here is the endpoint on the server
Here is the fetch request
For more details see https://github.com/demergent-labs/fourZeroSeven
Operating system
Ubuntu 23.10
Scope
runtime
Module and version
fetch