Uh oh!
There was an error while loading. Please reload this page.
module: prefer async/await in https imports - #41950
Conversation
nodejs-github-bot
commented
Feb 12, 2022
Review requested:
|
GeoffreyBooth
commented
Feb 13, 2022
GeoffreyBooth
left a comment
There was a problem hiding this comment.
Some minor style notes, I haven’t reviewed in depth.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
benjamingr
commented
Feb 13, 2022
@GeoffreyBooth fixed + added http 404 handling |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
bmeck
commented
Feb 13, 2022
This is actually a bit complicated since import.meta.url needs the value synchronously for the response location after all redirects so it actually relies on storing the value for now. |
benjamingr
commented
Feb 13, 2022
Ah, mind if I add a comment to the code explaining that around the cacheForGET code? |
bmeck
commented
Feb 13, 2022
I'm all for comments |
benjamingr
commented
Feb 13, 2022
Added both comments. |
JakobJingleheimer
left a comment
There was a problem hiding this comment.
Oow, fancy. Much cleaner than .on(…) 🙌
There was a problem hiding this comment.
| *Itcacheseitherthepromiseorthecahceentrysinceimport.meta.urlneeds | |
| *Itcacheseitherthepromiseorthecacheentrysinceimport.meta.urlneeds |
Uh oh!
There was an error while loading. Please reload this page.
benjamingr
commented
Feb 16, 2022
@bmeck @nodejs/modules this could use some reviews :) |
guybedford
left a comment
There was a problem hiding this comment.
Can we get a 404 test though to land?
67713f1 to
ace0812Comparebenjamingr
commented
Feb 16, 2022
Added test :) |
nodejs-github-bot
commented
Feb 16, 2022
nodejs-github-bot
commented
Feb 18, 2022
nodejs-github-bot
commented
Feb 23, 2022
b3ef5cb to
b575c6dComparenodejs-github-bot
commented
Feb 23, 2022
nodejs-github-bot
commented
Feb 23, 2022
nodejs-github-bot
commented
Feb 23, 2022
nodejs-github-bot
commented
Feb 23, 2022
Commit Queue failed- Loading data for nodejs/node/pull/41950 ✔ Done loading data for nodejs/node/pull/41950 ----------------------------------- PR info ------------------------------------ Title module: prefer async/await in https imports (#41950) Author Benjamin Gruenbaum (@benjamingr) Branch benjamingr:use-async-await-in-fetch-module -> nodejs:master Labels esm, needs-ci Commits 1 - module: prefer async/await in https imports Committers 1 - Benjamin Gruenbaum PR-URL: https://github.com/nodejs/node/pull/41950 Fixes: https://github.com/nodejs/node/issues/41950 Reviewed-By: Guy Bedford Reviewed-By: James M Snell ------------------------------ Generated metadata ------------------------------ PR-URL: https://github.com/nodejs/node/pull/41950 Fixes: https://github.com/nodejs/node/issues/41950 Reviewed-By: Guy Bedford Reviewed-By: James M Snell -------------------------------------------------------------------------------- ⚠ Commits were pushed since the last review: ⚠ - module: prefer async/await in https imports ℹ This PR was created on Sat, 12 Feb 2022 18:50:10 GMT ✔ Approvals: 2 ✔ - Guy Bedford (@guybedford): https://github.com/nodejs/node/pull/41950#pullrequestreview-884778590 ✔ - James M Snell (@jasnell) (TSC): https://github.com/nodejs/node/pull/41950#pullrequestreview-889949951 ✔ Last GitHub CI successful ℹ Last Full PR CI on 2022-02-23T18:10:07Z: https://ci.nodejs.org/job/node-test-pull-request/42748/ - Querying data for job/node-test-pull-request/42748/ ✔ Last Jenkins CI successful -------------------------------------------------------------------------------- ✔ Aborted `git node land` session in /home/runner/work/node/node/.ncuhttps://github.com/nodejs/node/actions/runs/1889467631 |
benjamingr
commented
Feb 23, 2022
Landed in 7efef74 🎉 |
PR-URL: nodejs#41950Fixes: nodejs#41950 Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#41950Fixes: nodejs#41950 Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
juanarbol
commented
May 30, 2022
This is failing in the v16.x branch; let me work in a backport for this: /node--inspect--experimental-network-imports--dns-result-order=ipv4firsttest/es-module/test-http-imports.mjs Debugger listeningonws://127.0.0.1:9229/924045ba-ef66-4869-84bf-085849cbf26b Forhelp,see: https://nodejs.org/en/docs/inspector
node:internal/errors:465ErrorCaptureStackTrace(err);^TypeError[ERR_INVALID_ARG_TYPE]: The"list"argumentmustbeaninstanceofArray.ReceivedaninstanceofBufferatconcat(node:buffer:537:3) at node:internal/modules/esm/fetch_module:165:24atprocessTicksAndRejections(node:internal/process/task_queues:96:5)atasync node:internal/modules/esm/fetch_module:171:7atasyncdefaultLoad(node:internal/modules/esm/load:21:14)atasyncESMLoader.load(node:internal/modules/esm/loader:407:20)atasyncESMLoader.moduleProvider(node:internal/modules/esm/loader:326:11)atasynclink(node:internal/modules/esm/module_job:70:21){ code: 'ERR_INVALID_ARG_TYPE'}Looks like the |
PR-URL: nodejs/node#41950Fixes: nodejs/node#41950 Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
cc @bmeck @nodejs/modules
This PR refactors the fetch_module
fetchWithRedirectsfunction to use the new modern facilities for streams:composeinstead ofpipefor simplified and "more easily correct" error handling on the body stream cc @ronag .async/awaitovernew Promise.toArray()on the response body instead of manually.Note this can probably be further simplified by always caching the promise (and never the value) and by moving the "memoize" functionality to a helper).
Fixes: #41950