Skip to content

http surface for subclassed IncomingMessage and ServerResponse - #4

Open
puskuruk wants to merge 7 commits into
mainfrom
fix/http-surface-for-subclassed-request-response
Open

puskuruk wants to merge 7 commits into
mainfrom
fix/http-surface-for-subclassed-request-response

Conversation

@puskuruk

@puskuruk puskuruk commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

What @nestjs/platform-node needs from node:http, node:net and URL: ServerOptions.IncomingMessage/ServerResponse constructors, ServerResponse<Req> with req, URL.canParse, absent headers reading as undefined, and net.Socket readable/writable flags that on-finished reads.

  • f7ac60e Make http.ServerResponse generic over its IncomingMessage and expose req
  • 7b58abc Honour ServerOptions.IncomingMessage and ServerOptions.ServerResponse constructors in createServer
  • 18250ec Add URL.canParse to the compiled WHATWG URL class
  • a6f1015 Cover ServerResponse subclassing through ServerOptions and URL.canParse with node-vs-compiled parity tests
  • ea99faa Type IncomingMessage headers as string | undefined so a header the request did not send reads as undefined, with a dictionary-missing parity test
  • 9d69ee4 Maintain net.Socket's readable and writable flags across connect, end, peer end and destroy, as the on-finished shim reads them

Verification: HTTP_SERVER_OPTIONS_PARITY_OK:5, URL_CAN_PARSE_PARITY_OK:86, DICTIONARY_MISSING_PARITY_OK:20 (scripts/test-http-server-options.mjs, test-url-can-parse.mjs, test-dictionary-missing.mjs).

Related

Independent of the other three runtime fixes (#2, #3, #5). Branch nest/base is main plus these four and is the base of #6 (Nest 1/4).

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c488ec27-a940-4372-9477-d7b0acac8199
📥 Commits

Reviewing files that changed from the base of the PR and between 7337902 and 7b585fb.

⛔ Files ignored due to path filters: 1
  • runtime/node/generated/node24-compatibility.json is excluded by !**/generated/**
📒 Files selected for processing: 10
  • apps/hono-bridge/server.ts
  • apps/nest-node-probe/correctness/dictionary-missing.ts
  • apps/nest-node-probe/correctness/http-server-options.ts
  • apps/nest-node-probe/correctness/url-can-parse.ts
  • runtime/node/globals.ts
  • runtime/node/http.ts
  • runtime/node/net.ts
  • scripts/test-dictionary-missing.mjs
  • scripts/test-http-server-options.mjs
  • scripts/test-url-can-parse.mjs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai

coderabbitai Bot commented Oct 19, 2026

Copy link
Copy Markdown

Add Carrot credits or activate Agent usage billing to use Autofix

…t carries, now that an absent IncomingMessage header reads as undefined
@puskuruk

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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