From d2ed111f16b86d0af522a24ce70585f7c150835e Mon Sep 17 00:00:00 2001 From: XadillaX Date: Fri, 4 Aug 2017 11:36:05 +0800 Subject: [PATCH 1/2] dns: add setDefaultResolver and getDefaultResolver Since `dns.Resolver` was added, it gives a chance to manage the default resolver by ourselves. So `dns.setDefaultResolver` and `dns.getDefaultResolver` is added here. --- doc/api/dns.md | 26 ++++++++ lib/dns.js | 53 +++++++++++----- lib/internal/errors.js | 1 + .../parallel/test-dns-set-default-resolver.js | 60 +++++++++++++++++++ 4 files changed, 124 insertions(+), 16 deletions(-) create mode 100644 test/parallel/test-dns-set-default-resolver.js diff --git a/doc/api/dns.md b/doc/api/dns.md index 5be30f22284b9c..ed8511b9f16382 100644 --- a/doc/api/dns.md +++ b/doc/api/dns.md @@ -103,6 +103,32 @@ added: REPLACEME Cancel all outstanding DNS queries made by this resolver. The corresponding callbacks will be called with an error with code `ECANCELLED`. +## dns.getDefaultResolver() + + +Get the default resolver which may used by Node.js modules such as `http` and +provides functions like `dns.resolve()`, `dns.setServers()`, etc. + +## dns.setDefaultResolver() + + +Set the default resolver which may used by Node.js modules such as `http` and +provides functions like `dns.resolve()`, `dns.setServers()`, etc. + +The only parameter must be a `dns.Resolver` instance that to replace the default +one. + +For example: + +```js +const resolver = new dns.Resolver(); +dns.setDefaultResolver(resolver); +``` + ## dns.getServers()