node-grap-data
by whitewolf
JavaScript
var http = require('http');
var fs = require('fs');
var handler = function () {
//js coverage handler
var jsCoverageHandler = function (req, res) {
var options = {
host:'vbnedsuper4001',
port:80,
path:'/jenkins/job/super-online-jsunit/HTML_Coverage_Report/index.html'
};
http.get(options,function (response) {
res.writeHead(200, {'Content-Type':'text/plain'});
var html = "";
response.on("data",function (chunk) {
html += chunk;
}).on("end", function () {
// console.log(html);
html = getCoverage(html);
// res.write("abc");
res.write(html);
res.end();
});
console.log("Got response: " + response.statusCode);
}).on('error', function (e) {
res.writeHead(500, {'Content-Type':'text/plain'});
res.end("get js coverage report error!");
console.log("Got error: " + e.message);
});
function getCoverage(htmlString) {
console.log("htmlString: " + htmlString);
var statementReg = /\sStatements: <span class='metric'>\d{2}.\d{1,2}/
var statementStr = statementReg.exec(htmlString);
console.log("statement: " + statementStr);
return statementStr;
}
};
// default handler:not implements
var defaultHandler = function (req, res) {
res.writeHead(200, {'Content-Type':'text/plain'});
res.end("not implements!");
};
/////////////////////////////////////////////////////////////////////////////
var route = function (req, res) {
var url = req.url;
switch (url) {
case "/js/coverage":
jsCoverageHandler(req, res);
break;
default :
defaultHandler(req, res);
...