graceful-dns
Disclaimer
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.
Usage
npm install graceful-dns
API
- 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
Examples
const dns = require('graceful-dns');
(async () => {
const ip = await dns.getIP('example.com');
if(ip) {
console.log("Found IP: " + ip);
} else {
console.log("Could not find IP address");
}
})();