@@ -10,21 +10,19 @@ const {
10
10
11
11
const {
12
12
bindDefaultResolver,
13
- Resolver : CallbackResolver ,
13
+ Resolver,
14
14
validateHints,
15
- validateTimeout,
16
- validateTries,
17
15
emitInvalidHostnameWarning,
18
16
getDefaultVerbatim,
19
17
setDefaultResultOrder,
18
+ setDefaultResolver,
20
19
} = require ( 'internal/dns/utils' ) ;
21
20
const { codes, dnsException } = require ( 'internal/errors' ) ;
22
21
const { toASCII } = require ( 'internal/idna' ) ;
23
22
const { isIP } = require ( 'internal/net' ) ;
24
23
const {
25
24
getaddrinfo,
26
25
getnameinfo,
27
- ChannelWrap,
28
26
GetAddrInfoReqWrap,
29
27
GetNameInfoReqWrap,
30
28
QueryReqWrap
@@ -270,19 +268,6 @@ function resolver(bindingName) {
270
268
271
269
const resolveMap = ObjectCreate ( null ) ;
272
270
273
- // Resolver instances correspond 1:1 to c-ares channels.
274
- class Resolver {
275
- constructor ( options = undefined ) {
276
- const timeout = validateTimeout ( options ) ;
277
- const tries = validateTries ( options ) ;
278
- this . _handle = new ChannelWrap ( timeout , tries ) ;
279
- }
280
- }
281
-
282
- Resolver . prototype . getServers = CallbackResolver . prototype . getServers ;
283
- Resolver . prototype . setServers = CallbackResolver . prototype . setServers ;
284
- Resolver . prototype . cancel = CallbackResolver . prototype . cancel ;
285
- Resolver . prototype . setLocalAddress = CallbackResolver . prototype . setLocalAddress ;
286
271
Resolver . prototype . resolveAny = resolveMap . ANY = resolver ( 'queryAny' ) ;
287
272
Resolver . prototype . resolve4 = resolveMap . A = resolver ( 'queryA' ) ;
288
273
Resolver . prototype . resolve6 = resolveMap . AAAA = resolver ( 'queryAaaa' ) ;
@@ -313,6 +298,19 @@ Resolver.prototype.resolve = function resolve(hostname, rrtype) {
313
298
return ReflectApply ( resolver , this , [ hostname ] ) ;
314
299
} ;
315
300
301
+ function defaultResolverSetServers ( servers ) {
302
+ const resolver = new Resolver ( ) ;
316
303
317
- module . exports = { lookup, lookupService, Resolver, setDefaultResultOrder } ;
304
+ resolver . setServers ( servers ) ;
305
+ setDefaultResolver ( resolver ) ;
306
+ bindDefaultResolver ( module . exports , Resolver . prototype ) ;
307
+ }
308
+
309
+ module . exports = {
310
+ lookup,
311
+ lookupService,
312
+ Resolver,
313
+ setDefaultResultOrder,
314
+ setServers : defaultResolverSetServers ,
315
+ } ;
318
316
bindDefaultResolver ( module . exports , Resolver . prototype ) ;
0 commit comments