Skip to content

feat(ext/node): notify control socket when node:http server starts serving#34949

Merged
bartlomieju merged 1 commit into
denoland:mainfrom
bartlomieju:feat/node-http-notify-serving
Jun 5, 2026
Merged

feat(ext/node): notify control socket when node:http server starts serving#34949
bartlomieju merged 1 commit into
denoland:mainfrom
bartlomieju:feat/node-http-notify-serving

Conversation

@bartlomieju

Copy link
Copy Markdown
Member

Upstream PR #34662 landed the DENO_SERVE_ADDRESS override for
node:http/node:https, and PR #34676 wired Deno.serve() to call
op_http_notify_serving() so that DENO_AUTO_SERVE setups can wait for a
"Serving" event over DENO_UNSTABLE_CONTROL_SOCK. Node servers were left out:
they observed the override address but never fired the notification, so a
control plane waiting on the socket would hang.

This hooks notifyAddressOverrideServing() into the listen() path of both
http.Server and https.Server (and into startOverrideListener for non-TCP
override transports) so node:http servers fire the same notification that
Deno.serve() does. The unconfigured spec gains a node:http variant
exercising the full DENO_AUTO_SERVE +
DENO_SERVE_ADDRESS=duplicate,unix:... + DENO_UNSTABLE_CONTROL_SOCK flow.

…rving

Upstream PR denoland#34662 landed the DENO_SERVE_ADDRESS override for
node:http/node:https, and PR denoland#34676 wired Deno.serve() to call
`op_http_notify_serving()` so that DENO_AUTO_SERVE setups can wait for a
"Serving" event over DENO_UNSTABLE_CONTROL_SOCK. Node servers were left
out: they observed the override address but never fired the
notification, so a control plane waiting on the socket would hang.

This hooks `notifyAddressOverrideServing()` into the listen() path of
both `http.Server` and `https.Server` (and into `startOverrideListener`
for non-TCP override transports) so node:http servers fire the same
notification that Deno.serve() does. The unconfigured spec gains a
node:http variant exercising the full DENO_AUTO_SERVE +
DENO_SERVE_ADDRESS=duplicate,unix:... + DENO_UNSTABLE_CONTROL_SOCK
flow.
@deno-cla-assistant

Copy link
Copy Markdown

Deno Individual Contributor License Agreement

The following contributors need to sign the CLA before this PR can be merged:

Click here to review and sign the CLA | Re-run CLA check


This is an automated message from CLA Assistant

@bartlomieju
bartlomieju enabled auto-merge (squash) June 5, 2026 20:34
@bartlomieju
bartlomieju merged commit 2a930df into denoland:main Jun 5, 2026
136 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