==================index.js文件=================
var server=require("./server");
var router=require("./router");
var requestHandlers=require("./requestHandlers");
//请示主处理程序的集合
var handle={};
handle["/"]=requestHandlers.start;
handle["/start"]=requestHandlers.start;
handle["/upload"]=requestHandlers.upload;
server.start(router.route,handle);
server.js文件
//get http mode
var http=require("http");
var url=require("url");
function start(route,handle){
http.createServer(function(request,response) {
var pathname=url.parse(request.url).pathname;
console.log("Request for "+pathname+" received!");
route(handle,pathname,response);
// 8080 is listening
}).listen(8080);
console.log("Server has started.");
}
exports.start=start;
======================================================================================
============requestHandler.js文件===============
var exec=require("child_process").exec;
function start(response){
console.log("===start()===");
//var content="empty";
//exec("ls=lah",function (error,stdout,stderr){
//content=stdout;
//});
//return content;
exec("find /",
{ timeout: 10000, maxBuffer: 20000*1024 },
function (error, stdout, stderr) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write(stdout);
response.end();
});
//阻塞等待10秒后返回
// function sleep(millliSeconds){
// var startTime=new Date().getTime();
// while(new Date().getTime()<startTime+millliSeconds);
// }
// sleep(10000);
// return "hello start!";
}
function upload(response){
console.log("===upload()===");
response.writeHead(200,{"Content=type":"text/plain"});
response.write("hello upload!");
response.end();
}
exports.start=start;
exports.upload=upload;
======================================================================================
===============router.js文件===============
function route(handle,pathname,response){
console.log("About to route a request for "+pathname);
if(typeof handle[pathname]=='function'){
handle[pathname](response);
}else{
console.log("no request handler found for "+pathname);
response.writeHead(404,{"Content=type":"text/plain"});
response.write("404 Not found!");
response.end();
}
}
exports.route=route;
======================================================================================