veriname/main.js

37 lines
873 B
JavaScript

var http = require('http');
var dns = require('./dns_native');
var url = require('url');
http.createServer(function (req, res) {
var parts, type, domain, ns;
parts = url.parse(req.url).pathname.slice(1).split("/");
if (parts.length > 2) {
type = parts[0];
domain = parts[1];
ns = [ parts[2] ];
} else if (parts.length > 1) {
type = parts[0];
domain = parts[1];
} else if (parts.length > 0) {
type = 'A';
domain = parts[0];
} else {
res.writeHead(500, {'Content-Type': 'text/plain'});
res.end("Wrong request\n");
return;
}
res.writeHead(200, {'Content-Type': 'text/plain'});
c = dns.newChannel(ns);
c.query(domain, type, function(err, response) {
if (err) {
res.end("Error resolving '" + type + "/" + domain + "': " + err.message + "\n");
} else {
res.end(domain + ":\n" + response.toString() + "\n");
}
});
}).listen(4000);