feat(ext/node): env/global proxy support for node:http and node:https (#34257)
Summary:
- add Deno CLI and child_process handling for Node's
--use-env-proxy/--no-use-env-proxy flags
- route node:http/node:https requests through env/global proxy settings,
including HTTPS proxy hops, CONNECT tunneling, proxy auth/error
handling, IPv6, NO_PROXY, and restore semantics
- honor NODE_EXTRA_CA_CERTS and NODE_TLS_REJECT_UNAUTHORIZED for node
HTTPS proxy compatibility without overriding Deno --cert behavior
Tests:
- cargo build -p deno
- ./x test-node http
- FILE_TEST_RUNNER_NO_CAPTURE=1
target/debug/deps/node_compat-0846937581e540f3 client-proxy --nocapture
(57/66 pass; remaining failures are native fetch proxy routing and
max-sockets socket reuse)
Closes denoland/divybot#146
---------
Co-authored-by: divybot <divybot@users.noreply.github.com>
Co-authored-by: Divy Srivastava <me@littledivy.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>