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 = process.dns.resolve4; exports.resolve6 = process.dns.resolve6; exports.resolveMx = process.dns.resolveMx; exports.resolveTxt = process.dns.resolveTxt; exports.resolveSrv = process.dns.resolveSrv; exports.reverse = process.dns.reverse; // ERROR CODES // timeout, SERVFAIL or similar. exports.TEMPFAIL = process.dns.TEMPFAIL; // got garbled reply. exports.PROTOCOL = process.dns.PROTOCOL; // domain does not exists. exports.NXDOMAIN = process.dns.NXDOMAIN; // domain exists but no data of reqd type. exports.NODATA = process.dns.NODATA; // out of memory while processing. exports.NOMEM = process.dns.NOMEM; // the query is malformed. exports.BADQUERY = process.dns.BADQUERY; var resolveMap = { 'A': exports.resolve4, 'AAAA': exports.resolve6, 'MX': exports.resolveMx, 'TXT': exports.resolveTxt, 'SRV': exports.resolveSrv, 'PTR': exports.reverse, };