mirror of
https://github.com/nodejs/node.git
synced 2025-12-28 07:50:41 +00:00
dns: export error code constants from dns/promises
PR-URL: https://github.com/nodejs/node/pull/43176 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
fe776b8f42
commit
dc53c29b97
@ -1405,6 +1405,8 @@ Each DNS query can return one of the following error codes:
|
||||
* `dns.ADDRGETNETWORKPARAMS`: Could not find `GetNetworkParams` function.
|
||||
* `dns.CANCELLED`: DNS query cancelled.
|
||||
|
||||
The above error codes are also exported by the `dnsPromises` API, e.g., `dnsPromises.NODATA`.
|
||||
|
||||
## Implementation considerations
|
||||
|
||||
Although [`dns.lookup()`][] and the various `dns.resolve*()/dns.reverse()`
|
||||
|
||||
75
lib/dns.js
75
lib/dns.js
@ -44,7 +44,34 @@ const {
|
||||
emitInvalidHostnameWarning,
|
||||
getDefaultVerbatim,
|
||||
setDefaultResultOrder,
|
||||
errorCodes: dnsErrorCodes,
|
||||
} = require('internal/dns/utils');
|
||||
const {
|
||||
NODATA,
|
||||
FORMERR,
|
||||
SERVFAIL,
|
||||
NOTFOUND,
|
||||
NOTIMP,
|
||||
REFUSED,
|
||||
BADQUERY,
|
||||
BADNAME,
|
||||
BADFAMILY,
|
||||
BADRESP,
|
||||
CONNREFUSED,
|
||||
TIMEOUT,
|
||||
EOF,
|
||||
FILE,
|
||||
NOMEM,
|
||||
DESTRUCTION,
|
||||
BADSTR,
|
||||
BADFLAGS,
|
||||
NONAME,
|
||||
BADHINTS,
|
||||
NOTINITIALIZED,
|
||||
LOADIPHLPAPI,
|
||||
ADDRGETNETWORKPARAMS,
|
||||
CANCELLED,
|
||||
} = dnsErrorCodes;
|
||||
const {
|
||||
ERR_INVALID_ARG_TYPE,
|
||||
ERR_INVALID_ARG_VALUE,
|
||||
@ -376,30 +403,30 @@ 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'
|
||||
NODATA,
|
||||
FORMERR,
|
||||
SERVFAIL,
|
||||
NOTFOUND,
|
||||
NOTIMP,
|
||||
REFUSED,
|
||||
BADQUERY,
|
||||
BADNAME,
|
||||
BADFAMILY,
|
||||
BADRESP,
|
||||
CONNREFUSED,
|
||||
TIMEOUT,
|
||||
EOF,
|
||||
FILE,
|
||||
NOMEM,
|
||||
DESTRUCTION,
|
||||
BADSTR,
|
||||
BADFLAGS,
|
||||
NONAME,
|
||||
BADHINTS,
|
||||
NOTINITIALIZED,
|
||||
LOADIPHLPAPI,
|
||||
ADDRGETNETWORKPARAMS,
|
||||
CANCELLED,
|
||||
};
|
||||
|
||||
bindDefaultResolver(module.exports, getDefaultResolver());
|
||||
|
||||
@ -16,7 +16,34 @@ const {
|
||||
validateTries,
|
||||
emitInvalidHostnameWarning,
|
||||
getDefaultVerbatim,
|
||||
errorCodes: dnsErrorCodes,
|
||||
} = require('internal/dns/utils');
|
||||
const {
|
||||
NODATA,
|
||||
FORMERR,
|
||||
SERVFAIL,
|
||||
NOTFOUND,
|
||||
NOTIMP,
|
||||
REFUSED,
|
||||
BADQUERY,
|
||||
BADNAME,
|
||||
BADFAMILY,
|
||||
BADRESP,
|
||||
CONNREFUSED,
|
||||
TIMEOUT,
|
||||
EOF,
|
||||
FILE,
|
||||
NOMEM,
|
||||
DESTRUCTION,
|
||||
BADSTR,
|
||||
BADFLAGS,
|
||||
NONAME,
|
||||
BADHINTS,
|
||||
NOTINITIALIZED,
|
||||
LOADIPHLPAPI,
|
||||
ADDRGETNETWORKPARAMS,
|
||||
CANCELLED,
|
||||
} = dnsErrorCodes;
|
||||
const { codes, dnsException } = require('internal/errors');
|
||||
const { toASCII } = require('internal/idna');
|
||||
const { isIP } = require('internal/net');
|
||||
@ -323,5 +350,35 @@ Resolver.prototype.resolve = function resolve(hostname, rrtype) {
|
||||
};
|
||||
|
||||
|
||||
module.exports = { lookup, lookupService, Resolver };
|
||||
module.exports = {
|
||||
lookup,
|
||||
lookupService,
|
||||
Resolver,
|
||||
|
||||
// ERROR CODES
|
||||
NODATA,
|
||||
FORMERR,
|
||||
SERVFAIL,
|
||||
NOTFOUND,
|
||||
NOTIMP,
|
||||
REFUSED,
|
||||
BADQUERY,
|
||||
BADNAME,
|
||||
BADFAMILY,
|
||||
BADRESP,
|
||||
CONNREFUSED,
|
||||
TIMEOUT,
|
||||
EOF,
|
||||
FILE,
|
||||
NOMEM,
|
||||
DESTRUCTION,
|
||||
BADSTR,
|
||||
BADFLAGS,
|
||||
NONAME,
|
||||
BADHINTS,
|
||||
NOTINITIALIZED,
|
||||
LOADIPHLPAPI,
|
||||
ADDRGETNETWORKPARAMS,
|
||||
CANCELLED,
|
||||
};
|
||||
bindDefaultResolver(module.exports, Resolver.prototype);
|
||||
|
||||
@ -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,
|
||||
@ -212,4 +240,5 @@ module.exports = {
|
||||
emitInvalidHostnameWarning,
|
||||
getDefaultVerbatim,
|
||||
setDefaultResultOrder,
|
||||
errorCodes,
|
||||
};
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user