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>
This commit is contained in:
Ai Hoshino
2023-08-29 11:10:33 +08:00
committed by GitHub
parent d1c2d6b25c
commit c53372c9f3
6 changed files with 412 additions and 9 deletions

View File

@@ -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);
}