diff options
author | Feng Yu <F3n67u@outlook.com> | 2022-06-18 15:54:31 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-18 15:54:31 +0300 |
commit | dc53c29b97e866c72391cad45905afbb5a5643f1 (patch) | |
tree | 0d41180da489c4915fdac3d5f478eb99047063ed | |
parent | fe776b8f42be7aa8d17b6619de3ecd67d7a4d743 (diff) |
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>
-rw-r--r-- | doc/api/dns.md | 2 | ||||
-rw-r--r-- | lib/dns.js | 75 | ||||
-rw-r--r-- | lib/internal/dns/promises.js | 59 | ||||
-rw-r--r-- | lib/internal/dns/utils.js | 29 | ||||
-rw-r--r-- | test/parallel/test-dns-promises-exists.js | 29 |
5 files changed, 168 insertions, 26 deletions
diff --git a/doc/api/dns.md b/doc/api/dns.md index 297cda2efcd..dc2f578fa05 100644 --- a/doc/api/dns.md +++ b/doc/api/dns.md @@ -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()` diff --git a/lib/dns.js b/lib/dns.js index 284032202a2..351fa43f357 100644 --- a/lib/dns.js +++ b/lib/dns.js @@ -44,8 +44,35 @@ 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, ERR_MISSING_ARGS, @@ -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()); diff --git a/lib/internal/dns/promises.js b/lib/internal/dns/promises.js index 58493134221..395b059758f 100644 --- a/lib/internal/dns/promises.js +++ b/lib/internal/dns/promises.js @@ -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); diff --git a/lib/internal/dns/utils.js b/lib/internal/dns/utils.js index 81bbe5329f5..3a18db94ce3 100644 --- a/lib/internal/dns/utils.js +++ b/lib/internal/dns/utils.js @@ -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, }; diff --git a/test/parallel/test-dns-promises-exists.js b/test/parallel/test-dns-promises-exists.js index 5fd20dff2c1..d88ecefaa98 100644 --- a/test/parallel/test-dns-promises-exists.js +++ b/test/parallel/test-dns-promises-exists.js @@ -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); |