From ef9f748e1fc8d6d739f736337fe7769c00caf9fc Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Sat, 28 May 2022 13:49:11 +0800 Subject: [PATCH] dns: move setServers to internal/dns/promise.js --- lib/dns.js | 1 - lib/dns/promises.js | 4 +--- lib/internal/dns/promises.js | 34 ++++++++++++++++------------------ 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/lib/dns.js b/lib/dns.js index e969ad2b80658d..02e007b54ec26b 100644 --- a/lib/dns.js +++ b/lib/dns.js @@ -386,7 +386,6 @@ ObjectDefineProperties(module.exports, { get() { if (promises === null) { promises = require('internal/dns/promises'); - promises.setServers = defaultResolverSetServers; } return promises; } diff --git a/lib/dns/promises.js b/lib/dns/promises.js index ad8a2561ef51e4..35881e5bb47374 100644 --- a/lib/dns/promises.js +++ b/lib/dns/promises.js @@ -1,5 +1,3 @@ 'use strict'; -const dnsPromises = require('internal/dns/promises'); -dnsPromises.setServers = require('dns').setServers; -module.exports = dnsPromises; +module.exports = require('internal/dns/promises'); diff --git a/lib/internal/dns/promises.js b/lib/internal/dns/promises.js index a12e52c0012d0f..0e1ed73533a8c8 100644 --- a/lib/internal/dns/promises.js +++ b/lib/internal/dns/promises.js @@ -10,13 +10,12 @@ const { const { bindDefaultResolver, - Resolver: CallbackResolver, + Resolver, validateHints, - validateTimeout, - validateTries, emitInvalidHostnameWarning, getDefaultVerbatim, setDefaultResultOrder, + setDefaultResolver, } = require('internal/dns/utils'); const { codes, dnsException } = require('internal/errors'); const { toASCII } = require('internal/idna'); @@ -24,7 +23,6 @@ const { isIP } = require('internal/net'); const { getaddrinfo, getnameinfo, - ChannelWrap, GetAddrInfoReqWrap, GetNameInfoReqWrap, QueryReqWrap @@ -270,19 +268,6 @@ function resolver(bindingName) { const resolveMap = ObjectCreate(null); -// Resolver instances correspond 1:1 to c-ares channels. -class Resolver { - constructor(options = undefined) { - const timeout = validateTimeout(options); - const tries = validateTries(options); - this._handle = new ChannelWrap(timeout, tries); - } -} - -Resolver.prototype.getServers = CallbackResolver.prototype.getServers; -Resolver.prototype.setServers = CallbackResolver.prototype.setServers; -Resolver.prototype.cancel = CallbackResolver.prototype.cancel; -Resolver.prototype.setLocalAddress = CallbackResolver.prototype.setLocalAddress; Resolver.prototype.resolveAny = resolveMap.ANY = resolver('queryAny'); Resolver.prototype.resolve4 = resolveMap.A = resolver('queryA'); Resolver.prototype.resolve6 = resolveMap.AAAA = resolver('queryAaaa'); @@ -313,6 +298,19 @@ Resolver.prototype.resolve = function resolve(hostname, rrtype) { return ReflectApply(resolver, this, [hostname]); }; +function defaultResolverSetServers(servers) { + const resolver = new Resolver(); -module.exports = { lookup, lookupService, Resolver, setDefaultResultOrder }; + resolver.setServers(servers); + setDefaultResolver(resolver); + bindDefaultResolver(module.exports, Resolver.prototype); +} + +module.exports = { + lookup, + lookupService, + Resolver, + setDefaultResultOrder, + setServers: defaultResolverSetServers, +}; bindDefaultResolver(module.exports, Resolver.prototype);