Scope
Finish the remaining reduced-adapter HTTP proxy transport/lifecycle paths exposed by Node common.mustCall and referenced-handle enforcement in 2edc96ed2.
Current unchanged copied corpus cases:
test-http-proxy-request-https-proxy.mjs— exceeds a 20-second isolated timeout;test-http-proxy-request-no-proxy-port-specific.mjs— exceeds a 20-second isolated timeout;test-http-proxy-request-proxy-failure-500.mjs— exceeds a 20-second isolated timeout;test-http-proxy-request-ipv6.mjs— target handler expected once, actual 0.
Control evidence
The same adapter and import path pass these callback-heavy controls:
test-http-proxy-request-invalid-url.mjs;test-http-proxy-request-connection-refused.mjs;test-http-proxy-request-max-sockets.mjs;test-http-proxy-request-socket-keep-alive.mjs;- NO_PROXY asterisk/domain/IP/basic cases.
This narrows the remaining work to nested HTTPS proxying, port-specific bypass/mismatch routing, target-reset-to-500 propagation, and IPv6 authority routing.
Acceptance criteria
- Correctly route IPv6 authorities through the proxy and invoke the target exactly once.
- Honor port-specific
NO_PROXYmatches and mismatches without recursive request dispatch. - Propagate target
ECONNRESETto the proxy and produce the expected well-formed 500 response. - Complete HTTPS proxy transport and close all referenced resources.
- All unchanged upstream assertions, callback counts, headers, logs, deadlines, and workloads pass.