Skip to content

Commit

Permalink
dns: export error code constants from dns/promises
Browse files Browse the repository at this point in the history
  • Loading branch information
F3n67u committed May 27, 2022
1 parent 40162db commit 8bd9ced
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 26 deletions.
26 changes: 2 additions & 24 deletions lib/dns.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ const {
emitInvalidHostnameWarning,
getDefaultVerbatim,
setDefaultResultOrder,
errorCodes,
} = require('internal/dns/utils');
const {
ERR_INVALID_ARG_TYPE,
Expand Down Expand Up @@ -351,30 +352,7 @@ module.exports = {
V4MAPPED: cares.AI_V4MAPPED,

// ERROR CODES
NODATA: 'ENODATA',
FORMERR: 'EFORMERR',
SERVFAIL: 'ESERVFAIL',
NOTFOUND: 'ENOTFOUND',
NOTIMP: 'ENOTIMP',
REFUSED: 'EREFUSED',
BADQUERY: 'EBADQUERY',
BADNAME: 'EBADNAME',
BADFAMILY: 'EBADFAMILY',
BADRESP: 'EBADRESP',
CONNREFUSED: 'ECONNREFUSED',
TIMEOUT: 'ETIMEOUT',
EOF: 'EOF',
FILE: 'EFILE',
NOMEM: 'ENOMEM',
DESTRUCTION: 'EDESTRUCTION',
BADSTR: 'EBADSTR',
BADFLAGS: 'EBADFLAGS',
NONAME: 'ENONAME',
BADHINTS: 'EBADHINTS',
NOTINITIALIZED: 'ENOTINITIALIZED',
LOADIPHLPAPI: 'ELOADIPHLPAPI',
ADDRGETNETWORKPARAMS: 'EADDRGETNETWORKPARAMS',
CANCELLED: 'ECANCELLED'
...errorCodes,
};

bindDefaultResolver(module.exports, getDefaultResolver());
Expand Down
3 changes: 2 additions & 1 deletion lib/internal/dns/promises.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ const {
validateTries,
emitInvalidHostnameWarning,
getDefaultVerbatim,
errorCodes,
} = require('internal/dns/utils');
const { codes, dnsException } = require('internal/errors');
const { toASCII } = require('internal/idna');
Expand Down Expand Up @@ -313,5 +314,5 @@ Resolver.prototype.resolve = function resolve(hostname, rrtype) {
};


module.exports = { lookup, lookupService, Resolver };
module.exports = { lookup, lookupService, Resolver, ...errorCodes };
bindDefaultResolver(module.exports, Resolver.prototype);
29 changes: 29 additions & 0 deletions lib/internal/dns/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,34 @@ function setDefaultResultOrder(value) {
dnsOrder = value;
}

// ERROR CODES
const errorCodes = {
NODATA: 'ENODATA',
FORMERR: 'EFORMERR',
SERVFAIL: 'ESERVFAIL',
NOTFOUND: 'ENOTFOUND',
NOTIMP: 'ENOTIMP',
REFUSED: 'EREFUSED',
BADQUERY: 'EBADQUERY',
BADNAME: 'EBADNAME',
BADFAMILY: 'EBADFAMILY',
BADRESP: 'EBADRESP',
CONNREFUSED: 'ECONNREFUSED',
TIMEOUT: 'ETIMEOUT',
EOF: 'EOF',
FILE: 'EFILE',
NOMEM: 'ENOMEM',
DESTRUCTION: 'EDESTRUCTION',
BADSTR: 'EBADSTR',
BADFLAGS: 'EBADFLAGS',
NONAME: 'ENONAME',
BADHINTS: 'EBADHINTS',
NOTINITIALIZED: 'ENOTINITIALIZED',
LOADIPHLPAPI: 'ELOADIPHLPAPI',
ADDRGETNETWORKPARAMS: 'EADDRGETNETWORKPARAMS',
CANCELLED: 'ECANCELLED',
};

module.exports = {
bindDefaultResolver,
getDefaultResolver,
Expand All @@ -212,4 +240,5 @@ module.exports = {
emitInvalidHostnameWarning,
getDefaultVerbatim,
setDefaultResultOrder,
errorCodes,
};
29 changes: 28 additions & 1 deletion test/parallel/test-dns-promises-exists.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,32 @@

require('../common');
const assert = require('assert');
const dnsPromises = require('dns/promises');
const dns = require('dns');

assert.strictEqual(require('dns/promises'), require('dns').promises);
assert.strictEqual(dnsPromises, dns.promises);

assert.strictEqual(dnsPromises.NODATA, dns.NODATA);
assert.strictEqual(dnsPromises.FORMERR, dns.FORMERR);
assert.strictEqual(dnsPromises.SERVFAIL, dns.SERVFAIL);
assert.strictEqual(dnsPromises.NOTFOUND, dns.NOTFOUND);
assert.strictEqual(dnsPromises.NOTIMP, dns.NOTIMP);
assert.strictEqual(dnsPromises.REFUSED, dns.REFUSED);
assert.strictEqual(dnsPromises.BADQUERY, dns.BADQUERY);
assert.strictEqual(dnsPromises.BADNAME, dns.BADNAME);
assert.strictEqual(dnsPromises.BADFAMILY, dns.BADFAMILY);
assert.strictEqual(dnsPromises.BADRESP, dns.BADRESP);
assert.strictEqual(dnsPromises.CONNREFUSED, dns.CONNREFUSED);
assert.strictEqual(dnsPromises.TIMEOUT, dns.TIMEOUT);
assert.strictEqual(dnsPromises.EOF, dns.EOF);
assert.strictEqual(dnsPromises.FILE, dns.FILE);
assert.strictEqual(dnsPromises.NOMEM, dns.NOMEM);
assert.strictEqual(dnsPromises.DESTRUCTION, dns.DESTRUCTION);
assert.strictEqual(dnsPromises.BADSTR, dns.BADSTR);
assert.strictEqual(dnsPromises.BADFLAGS, dns.BADFLAGS);
assert.strictEqual(dnsPromises.NONAME, dns.NONAME);
assert.strictEqual(dnsPromises.BADHINTS, dns.BADHINTS);
assert.strictEqual(dnsPromises.NOTINITIALIZED, dns.NOTINITIALIZED);
assert.strictEqual(dnsPromises.LOADIPHLPAPI, dns.LOADIPHLPAPI);
assert.strictEqual(dnsPromises.ADDRGETNETWORKPARAMS, dns.ADDRGETNETWORKPARAMS);
assert.strictEqual(dnsPromises.CANCELLED, dns.CANCELLED);

0 comments on commit 8bd9ced

Please sign in to comment.