Are you writing code in dev environments? Check out the experimental DNS Promises API (added in v10.6.0)
Do you want promises to reject instead of returning undefined
? Check out dns-then
This project wraps a part of Node.js's dns module in non-rejecting promises (instead of rejecting, it returns undefined
. It also parses URLs to hostnames automatically. It's not a 1:1 port.
npm i -P @cryptoscamdb/graceful-dns
- getServers() - returns an array of IP addresses which are configured for DNS lookups
- setServers(servers) - configures an array of IP addresses which are configured for DNS lookups
- getIP(hostname) - returns a promise which will resolve to either
undefined
or the IP address - getDNS(hostname) - returns a promise which will resolve to either
undefined
or an array of DNS records - getNS(hostname) - returns a promise which will resolve to either
undefined
or an array of nameservers - reverseDNS(ip) - returns a promise which will resolve to either
undefined
or an array of hostnames
import { getIP } from '@cryptoscamdb/graceful-dns';
getIP('example.com')
.then((ip: string) => {
if (ip) {
console.log("Found IP:", ip);
} else {
console.log("Could not find IP address");
}
})
.catch(() => {
// This should never be called
});