aboutsummaryrefslogtreecommitdiff
path: root/src/js/node/dns.js
diff options
context:
space:
mode:
authorGravatar Ai Hoshino <ambiguous404@gmail.com> 2023-08-29 11:10:33 +0800
committerGravatar GitHub <noreply@github.com> 2023-08-28 20:10:33 -0700
commitc53372c9f34fe9cbcc2fd8593ce5bbfaefb3f9db (patch)
treee94b42b9583971f0c51b911f88652a16add6d594 /src/js/node/dns.js
parentd1c2d6b25ceaeb58513d8687ba7945447adb6618 (diff)
downloadbun-c53372c9f34fe9cbcc2fd8593ce5bbfaefb3f9db.tar.gz
bun-c53372c9f34fe9cbcc2fd8593ce5bbfaefb3f9db.tar.zst
bun-c53372c9f34fe9cbcc2fd8593ce5bbfaefb3f9db.zip
feat(node:dns): implement `dns.reverse`. (#4332)
* feat(node:dns): implement `dns.reverse`. Close: #4299 * fix dns reverse for ipv6 --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Diffstat (limited to 'src/js/node/dns.js')
-rw-r--r--src/js/node/dns.js35
1 files changed, 32 insertions, 3 deletions
diff --git a/src/js/node/dns.js b/src/js/node/dns.js
index f8e5366f9..a6de07351 100644
--- a/src/js/node/dns.js
+++ b/src/js/node/dns.js
@@ -179,6 +179,21 @@ function lookupService(address, port, callback) {
callback(null, address, port);
}
+function reverse(ip, callback) {
+ if (typeof callback != "function") {
+ throw new TypeError("callback must be a function");
+ }
+
+ dns.reverse(ip, callback).then(
+ results => {
+ callback(null, results);
+ },
+ error => {
+ callback(error);
+ },
+ );
+}
+
var InternalResolver = class Resolver {
constructor(options) {}
@@ -395,7 +410,18 @@ var InternalResolver = class Resolver {
}
reverse(ip, callback) {
- callback(null, []);
+ if (typeof callback != "function") {
+ throw new TypeError("callback must be a function");
+ }
+
+ dns.reverse(ip, callback).then(
+ results => {
+ callback(null, results);
+ },
+ error => {
+ callback(error);
+ },
+ );
}
setServers(servers) {}
@@ -549,6 +575,9 @@ const promises = {
resolveCname(hostname) {
return dns.resolveCname(hostname);
},
+ reverse(ip) {
+ return dns.reverse(ip);
+ },
Resolver: class Resolver {
constructor(options) {}
@@ -627,13 +656,13 @@ const promises = {
}
reverse(ip) {
- return Promise.resolve([]);
+ return dns.reverse(ip);
}
setServers(servers) {}
},
};
-for (const key of ["resolveAny", "reverse"]) {
+for (const key of ["resolveAny"]) {
promises[key] = () => Promise.resolve(undefined);
}