Maps dns errors to DnsError objects subclassing httperrors.
npm install dnserrorsnode-dnserrors
==============




Exposes a function mapping DNS errors to DnsError objects.
The defined DnsError objects are created via
createerror.
Installation
------------
Make sure you have node.js and npm installed, then run:
npm install dnserrors
Usage
-----
The primary use case is wrapping errors originating from dns operations:
var dns = require('dns');
var dnsErrors = require('dnserrors');
dns.lookup('qovwiejiqvwiejvoqwevqwev.com', function (err) {
var dnsError = dnsErrors(err);
console.warn(dnsError.toString()); // ENOTFOUND: getaddrinfo ENOTFOUND
});
Other errors will be marked as not being dns errors:
var dnsErrors = require('dnserrors');
var err = new Error();
var dnsError = dnsErrors(err);
if (dnsError.NotDnsError) {
// what am I?
}
Mappings
--------
The following is a list of dns errors mapped by this module:
* ENODATA (mapped to 404)
* EFORMERR (mapped to 400)
* ESERVFAIL (mapped to 502)
* ENOTFOUND (mapped to 404)
* ENOENT (mapped to 404)
* ENOTIMP (mapped to 501)
* EREFUSED (mapped to 403)
* EBADQUERY (mapped to 400)
* EBADNAME (mapped to 400)
* EBADFAMILY (mapped to 400)
* EBADRESP (mapped to 502)
* ECONNREFUSED (mapped to 502)
* ETIMEOUT (mapped to 504)
* EEOF (mapped to 500)
* EFILE (mapped to 500)
* ENOMEM (mapped to 500)
* EDESTRUCTION (mapped to 500)
* EBADSTR (mapped to 400)
* EBADFLAGS (mapped to 400)
* ENONAME (mapped to 400)
* EBADHINTS (mapped to 400)
* ENOTINITIALIZED (mapped to 500)
* ELOADIPHLPAPI (mapped to 500)
* EADDRGETNETWORKPARAMS (mapped to 500)
* ECANCELLED (mapped to 500)
License
-------
3-clause BSD license -- see the LICENSE file for details.