diff options
author | Gabor Javorszky <g.javorszky@f5.com> | 2023-12-07 15:07:24 +0000 |
---|---|---|
committer | Dan Callahan <dan.callahan@gmail.com> | 2024-02-20 12:35:07 +0000 |
commit | d24ae5a9a4b1140695e027087e72dcfdeb484ec0 (patch) | |
tree | 390d886dd48506983d5cb3f0da4ace28b511ddad /src | |
parent | 53648ed56488c73aaed94c3258fc4136bc4cba6d (diff) | |
download | unit-d24ae5a9a4b1140695e027087e72dcfdeb484ec0.tar.gz unit-d24ae5a9a4b1140695e027087e72dcfdeb484ec0.tar.bz2 |
Add additional replace rules for node:* modules
In that particular issue the compiled nuxt files end up importing the
http module as node:http rather than http only. This bypasses unit's
custom loader implementation which only check for the http or unit-http
modules, and their websocket counterparts.
This changeset adds replace sources for both the node:http and
node:websocket import signatures.
Closes: https://github.com/nginx/unit/issues/1013
Reviewed-by: Andrew Clayton <a.clayton@nginx.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/nodejs/unit-http/loader.js | 2 | ||||
-rw-r--r-- | src/nodejs/unit-http/loader.mjs | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/nodejs/unit-http/loader.js b/src/nodejs/unit-http/loader.js index e5aa3558..849df3d1 100644 --- a/src/nodejs/unit-http/loader.js +++ b/src/nodejs/unit-http/loader.js @@ -11,10 +11,12 @@ if (module.parent && module.parent.id === "internal/preload") { Module.prototype.require = function (id) { switch(id) { case "http": + case "node:http": case "unit-http": return http case "websocket": + case "node:websocket": case "unit-http/websocket": return websocket } diff --git a/src/nodejs/unit-http/loader.mjs b/src/nodejs/unit-http/loader.mjs index 83985b0f..01fa2920 100644 --- a/src/nodejs/unit-http/loader.mjs +++ b/src/nodejs/unit-http/loader.mjs @@ -2,6 +2,7 @@ export async function resolve(specifier, context, defaultResolver) { switch (specifier) { case "websocket": + case "node:websocket": return { url: new URL("./websocket.js", import.meta.url).href, format: "commonjs", @@ -9,6 +10,7 @@ export async function resolve(specifier, context, defaultResolver) { } case "http": + case "node:http": return { url: new URL("./http.js", import.meta.url).href, format: "commonjs", |