Skip to content

Conversation

@bjohansebas
Copy link
Member

close #58534

@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/http
  • @nodejs/net

@nodejs-github-bot nodejs-github-bot added http Issues or PRs related to the http subsystem. needs-ci PRs that need a full CI run. labels May 31, 2025
@bjohansebas bjohansebas added the wip Issues and PRs that are still a work in progress. label May 31, 2025
@bjohansebas bjohansebas force-pushed the http_internals branch 2 times, most recently from 11b6878 to 329d0a0 Compare May 31, 2025 20:17
@bjohansebas bjohansebas added semver-major PRs that contain breaking changes and should be released in the next major version. deprecations Issues and PRs related to deprecations. labels May 31, 2025
@bjohansebas bjohansebas marked this pull request as ready for review May 31, 2025 21:29
@bjohansebas bjohansebas removed the wip Issues and PRs that are still a work in progress. label May 31, 2025
@bjohansebas bjohansebas force-pushed the http_internals branch 2 times, most recently from 0ec4ccc to bd305a8 Compare May 31, 2025 23:17
@jasnell
Copy link
Member

jasnell commented May 31, 2025

@nodejs/http @mcollina

@jasnell
Copy link
Member

jasnell commented May 31, 2025

This one might need a Documentation-only deprecation to start. It's likely going to be too disruptive to go straight to a Runtime deprecation. https://github.com/search?type=code&q=%22require%28%27_http%22

Copy link
Member

@dario-piotrowicz dario-piotrowicz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yay! thanks for doing this! 🫶

(with this all pesky _modules will be runtime deprecated! 💪)

@bjohansebas
Copy link
Member Author

This one might need a Documentation-only deprecation to start. It's likely going to be too disruptive to go straight to a Runtime deprecation. https://github.com/search?type=code&q=%22require%28%27_http%22

Most of them seem to be just forks of Node.js, rather than actually using these undocumented modules.

@jasnell
Copy link
Member

jasnell commented May 31, 2025

Most of them seem to be just forks of Node.js....

I wish that were the case. While there are a good number of forks in those search results, it's plain to see that there are a non-trivial number of other projects requiring "_http_common" and friends. We need to assess just how disruptive this will be... but don't get me wrong, I am in favor of deprecated these but it might need to be a slower path. I'd like @nodejs/http folks to weigh in.

@codecov
Copy link

codecov bot commented Jun 1, 2025

Codecov Report

❌ Patch coverage is 97.22114% with 143 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.78%. Comparing base (f6464c5) to head (731360d).

Files with missing lines Patch % Lines
lib/internal/http/outgoing.js 95.68% 49 Missing and 3 partials ⚠️
lib/internal/http/server.js 96.90% 39 Missing and 4 partials ⚠️
lib/internal/http/client.js 97.36% 28 Missing ⚠️
lib/internal/http/agent.js 97.30% 17 Missing ⚠️
lib/internal/http/incoming.js 99.35% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #58535      +/-   ##
==========================================
+ Coverage   89.76%   89.78%   +0.01%     
==========================================
  Files         673      679       +6     
  Lines      203944   204198     +254     
  Branches    39191    39197       +6     
==========================================
+ Hits       183080   183329     +249     
  Misses      13194    13194              
- Partials     7670     7675       +5     
Files with missing lines Coverage Δ
lib/_http_agent.js 100.00% <100.00%> (+2.69%) ⬆️
lib/_http_client.js 100.00% <100.00%> (+2.63%) ⬆️
lib/_http_common.js 100.00% <100.00%> (ø)
lib/_http_incoming.js 100.00% <100.00%> (+0.64%) ⬆️
lib/_http_outgoing.js 100.00% <100.00%> (+4.31%) ⬆️
lib/_http_server.js 100.00% <100.00%> (+2.95%) ⬆️
lib/http.js 98.83% <100.00%> (ø)
lib/https.js 98.22% <100.00%> (ø)
lib/internal/child_process.js 95.08% <100.00%> (ø)
lib/internal/http/common.js 100.00% <100.00%> (ø)
... and 8 more

... and 32 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

_checkIsHttpToken,
chunkExpression,
continueExpression,
CRLF, // TODO: Deprecate this.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
CRLF, // TODO: Deprecate this.
CRLF,

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need to have a deprecate todo inside a deprecated module right? (and I don't think this is re-exported by the public http module, right?)

@bjohansebas
Copy link
Member Author

@nodejs/http what are your recommendations?

bjohansebas added a commit to bjohansebas/node that referenced this pull request Jul 30, 2025
bjohansebas added a commit to bjohansebas/node that referenced this pull request Jul 31, 2025
Ref nodejs#58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
bjohansebas added a commit to bjohansebas/node that referenced this pull request Jul 31, 2025
Ref nodejs#58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
bjohansebas added a commit to bjohansebas/node that referenced this pull request Jul 31, 2025
Ref nodejs#58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
nodejs-github-bot pushed a commit that referenced this pull request Aug 2, 2025
Ref #58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: #59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
meteorqz6 pushed a commit to meteorqz6/node that referenced this pull request Aug 2, 2025
Ref nodejs#58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: nodejs#59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
panva pushed a commit to panva/node that referenced this pull request Aug 7, 2025
Ref nodejs#58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: nodejs#59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
targos pushed a commit that referenced this pull request Aug 8, 2025
Ref #58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: #59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
mete0rfish pushed a commit to mete0rfish/node-contribute that referenced this pull request Aug 9, 2025
Ref nodejs#58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: nodejs#59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
panva pushed a commit to panva/node that referenced this pull request Aug 9, 2025
Ref nodejs#58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: nodejs#59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
RafaelGSS pushed a commit that referenced this pull request Aug 12, 2025
Ref #58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: #59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 21, 2025
Ref #58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: #59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 21, 2025
Ref #58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: #59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 25, 2025
Ref #58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: #59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
aduh95 pushed a commit that referenced this pull request Aug 26, 2025
Ref #58535

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
PR-URL: #59293
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
@bjohansebas bjohansebas force-pushed the http_internals branch 2 times, most recently from 8b357cc to 8d9177f Compare January 31, 2026 16:14
@bjohansebas
Copy link
Member Author

cc: @nodejs/tsc @nodejs/http

@RafaelGSS RafaelGSS added the needs-citgm PRs that need a CITGM CI run. label Jan 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deprecations Issues and PRs related to deprecations. http Issues or PRs related to the http subsystem. needs-ci PRs that need a full CI run. needs-citgm PRs that need a CITGM CI run. semver-major PRs that contain breaking changes and should be released in the next major version.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move _http_* to be internal APIs.

5 participants