From c53372c9f34fe9cbcc2fd8593ce5bbfaefb3f9db Mon Sep 17 00:00:00 2001 From: Ai Hoshino Date: Tue, 29 Aug 2023 11:10:33 +0800 Subject: 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 --- src/js/node/dns.js | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) (limited to 'src/js/node/dns.js') 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); } -- cgit v1.2.3