From d6020c402c25e73d35a014ebdf743bb721ab9a3b Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Wed, 26 Oct 2016 07:51:34 +0200 Subject: [PATCH] dns: implement {ttl: true} for dns.resolve4() Add an option to retrieve the Time-To-Live of the A record. PR-URL: https://github.com/nodejs/node/pull/9296 Refs: https://github.com/nodejs/node/issues/5893 Reviewed-By: James M Snell Reviewed-By: Roman Reiss --- doc/api/dns.md | 9 ++++++++- lib/dns.js | 14 ++++++++++++-- src/cares_wrap.cc | 33 +++++++++++++++++---------------- test/internet/test-dns.js | 20 ++++++++++++++++++++ 4 files changed, 57 insertions(+), 19 deletions(-) diff --git a/doc/api/dns.md b/doc/api/dns.md index 6d0b8999df9..260b3ea94b9 100644 --- a/doc/api/dns.md +++ b/doc/api/dns.md @@ -195,7 +195,7 @@ corresponding lookup methods. On error, `err` is an [`Error`][] object, where `err.code` is one of the error codes listed [here](#dns_error_codes). -## dns.resolve4(hostname, callback) +## dns.resolve4(hostname[, options], callback) @@ -205,6 +205,13 @@ Uses the DNS protocol to resolve a IPv4 addresses (`A` records) for the will contain an array of IPv4 addresses (e.g. `['74.125.79.104', '74.125.79.105', '74.125.79.106']`). +* `hostname` {String} Hostname to resolve. +* `options` {Object} + * `ttl` {Boolean} Retrieve the Time-To-Live value (TTL) of each record. + The callback receives an array of `{ address: '1.2.3.4', ttl: 60 }` objects + rather than an array of strings. The TTL is expressed in seconds. +* `callback` {Function} An `(err, result)` callback function. + ## dns.resolve6(hostname, callback)