dnserrors

2.0.3 • Public • Published

node-dnserrors

NPM version Build Status Coverage Status Dependency Status

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.

Readme

Keywords

none

Package Sidebar

Install

npm i dnserrors

Weekly Downloads

4,514

Version

2.0.3

License

BSD-3-Clause

Last publish

Collaborators

  • alexjeffburke
  • papandreou