Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFeng Yu <F3n67u@outlook.com>2022-06-18 15:54:31 +0300
committerGitHub <noreply@github.com>2022-06-18 15:54:31 +0300
commitdc53c29b97e866c72391cad45905afbb5a5643f1 (patch)
tree0d41180da489c4915fdac3d5f478eb99047063ed
parentfe776b8f42be7aa8d17b6619de3ecd67d7a4d743 (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.md2
-rw-r--r--lib/dns.js75
-rw-r--r--lib/internal/dns/promises.js59
-rw-r--r--lib/internal/dns/utils.js29
-rw-r--r--test/parallel/test-dns-promises-exists.js29
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);