diff options
Diffstat (limited to 'src/js/node/dns.js')
-rw-r--r-- | src/js/node/dns.js | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/js/node/dns.js b/src/js/node/dns.js index a6de07351..e82e6a4b5 100644 --- a/src/js/node/dns.js +++ b/src/js/node/dns.js @@ -1,5 +1,5 @@ // Hardcoded module "node:dns" -// only resolve4, resolve, lookup, resolve6 and resolveSrv are implemented. +// only resolve4, resolve, lookup, resolve6, resolveSrv, and reverse are implemented. const dns = Bun.dns; function getServers() { @@ -19,6 +19,16 @@ function lookup(domain, options, callback) { options = { family: options }; } + if (domain !== domain || (typeof domain !== "number" && !domain)) { + console.warn( + `DeprecationWarning: The provided hostname "${String( + domain, + )}" is not a valid hostname, and is supported in the dns module solely for compatibility.`, + ); + callback(null, null, 4); + return; + } + dns.lookup(domain, options).then( res => { res.sort((a, b) => a.family - b.family); @@ -176,7 +186,14 @@ function lookupService(address, port, callback) { throw new TypeError("callback must be a function"); } - callback(null, address, port); + dns.lookupService(address, port, callback).then( + results => { + callback(null, ...results); + }, + error => { + callback(error); + }, + ); } function reverse(ip, callback) { @@ -517,7 +534,7 @@ const promises = { }, lookupService(address, port) { - return Promise.resolve([]); + return dns.lookupService(address, port); }, resolve(hostname, rrtype) { |