dnserrors

Maps dns errors to DnsError objects subclassing httperrors.

BSD-3-Clause 8 个版本
安装
npm install dnserrors
yarn add dnserrors
pnpm add dnserrors
bun add dnserrors
README

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.

版本列表
2.1.2 2017-07-31
2.1.1 2017-07-31
2.1.0 2017-05-01
2.0.3 2018-01-30
2.0.2 2016-05-25
2.0.1 2016-02-21
2.0.0 2016-02-21
1.0.0 2016-01-06