var dns = process.binding('dns'); exports.resolve = function (domain, type_, callback_) { var type, callback; if (typeof(type_) == 'string') { type = type_; callback = callback_; } else { type = 'A'; callback = arguments[1]; } var resolveFunc = resolveMap[type]; if (typeof(resolveFunc) == 'function') { resolveFunc(domain, callback); } else { throw new Error('Unknown type "' + type + '"'); } } exports.resolve4 = dns.resolve4; exports.resolve6 = dns.resolve6; exports.resolveMx = dns.resolveMx; exports.resolveTxt = dns.resolveTxt; exports.resolveSrv = dns.resolveSrv; exports.reverse = dns.reverse; // ERROR CODES // timeout, SERVFAIL or similar. exports.TEMPFAIL = dns.TEMPFAIL; // got garbled reply. exports.PROTOCOL = dns.PROTOCOL; // domain does not exists. exports.NXDOMAIN = dns.NXDOMAIN; // domain exists but no data of reqd type. exports.NODATA = dns.NODATA; // out of memory while processing. exports.NOMEM = dns.NOMEM; // the query is malformed. exports.BADQUERY = dns.BADQUERY; var resolveMap = { 'A': exports.resolve4, 'AAAA': exports.resolve6, 'MX': exports.resolveMx, 'TXT': exports.resolveTxt, 'SRV': exports.resolveSrv, 'PTR': exports.reverse, };