diff options
Diffstat (limited to '')
-rw-r--r-- | src/nodejs/unit-http/require_shim.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/nodejs/unit-http/require_shim.js b/src/nodejs/unit-http/require_shim.js new file mode 100644 index 00000000..2b307629 --- /dev/null +++ b/src/nodejs/unit-http/require_shim.js @@ -0,0 +1,27 @@ +// can only be ran as part of a --require param on the node process +if (module.parent && module.parent.id === "internal/preload") { + const { Module } = require("module") + + if (!Module.prototype.require.__unit_shim) { + const http = require("./http") + const websocket = require("./websocket") + + const original = Module.prototype.require; + + Module.prototype.require = function (id) { + switch(id) { + case "http": + case "unit-http": + return http + + case "websocket": + case "unit-http/websocket": + return websocket + } + + return original.apply(this, arguments); + } + + Module.prototype.require.__unit_shim = true; + } +} |