Skip to content

Audit networking externs for Node 24 + Haxe 4 - #226

Merged
kevinresol merged 1 commit into
HaxeFoundation:masterfrom
kevinresol:audit/networking
Jul 14, 2026
Merged

kevinresol merged 1 commit into
HaxeFoundation:masterfrom
kevinresol:audit/networking

Conversation

@kevinresol

Copy link
Copy Markdown
Contributor

Summary

  • Aligns net / http / https / http2 / tls / dgram / dns(+promises) / tty externs with Node.js v24 Active LTS APIs (missing events, options, helpers, OutgoingMessage, validateHeader*, tty cursor APIs, dgram connect/SSM buffers, tls PeerCertificate + session helpers, etc.).
  • Drops Haxe 3 #if haxe4 / haxe_ver / js.html fallbacks in these modules; keeps Haxe 4.0.5-safe arrow/js.lib typing.
  • Replaces several Class<Dynamic> / bare Dynamic usages with concrete types or Any, and documents remaining certificate / WebSocket TODOs.

Test plan

  • haxe build.hxml (ImportAll) succeeds for changed networking modules
  • Spot-check examples that use http / net / tls / dns still typecheck
  • Review coordination TODOs with section-4 (crypto X509Certificate) and section-6 (WebSocket typing)

Remaining TODOs

  • TODO(section-3): expand PeerCertificate field set; type getPeerX509Certificate / getX509Certificate against crypto X509Certificate
  • TODO(section-3): remove deprecated Http2Stream.priority once callers migrate
  • TODO(section-6): prefer js.node.web WebSocket typing for http.WebSocket

Made with Cursor

Fill net/http/https/http2/tls/dgram/dns/tty API gaps against Node 24,
replace Haxe 3 conditionals with Haxe 4 types, and tighten Dynamics
where practical.

Co-authored-by: Cursor <cursoragent@cursor.com>
@kevinresol
kevinresol merged commit 13aabdd into HaxeFoundation:master Jul 14, 2026
10 checks passed
@kevinresol kevinresol mentioned this pull request Jul 14, 2026
1 of 3 tasks
@kevinresol
kevinresol deleted the audit/networking branch July 15, 2026 01:01
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.

1 participant