aboutsummaryrefslogtreecommitdiff
path: root/src/js/node/dns.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/node/dns.js')
-rw-r--r--src/js/node/dns.js23
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) {