feat(ext/node): support DENO_SERVE_ADDRESS override in node:http servers (#34662)
The top-level `Deno.serve()` already honors the process-wide `DENO_SERVE_ADDRESS` override, but node:http servers ignored it, so an application using the Node compatibility layer could not be transparently rebound to a unix/vsock/tunnel control plane the way native Deno servers can. This matters for environments like Deno Deploy and the desktop runtime where the serve address is injected via the environment. This adds a `listen()` override on `http.Server` and `https.Server` that consumes the same override the first time a server binds. TCP overrides rewrite the listen address in place. For unix/vsock/tunnel overrides the server either listens on the override address only (default) or on both the app-supplied address and the override (`duplicate`). Non-TCP override connections are wrapped in a lightweight Duplex around `Deno.Conn` and fed into the normal connection listener, so the llhttp parser and the rest of the node:http pipeline handle them exactly like a native TCP connection.
B
Bartek Iwańczuk committed
7ab8ca98b8689d38c2a57c0a6234025dd2919ac6
Parent: 5fc1a60
Committed by GitHub <noreply@github.com>
on 6/1/2026, 12:53:49 PM