// request handler가 응답하게 만들기
router.js
function route(pathname, handle) {
console.log("About to route a request for "+pathname);
if ( typeof handle[pathname] === 'function' ) {
return handle[pathname]();
}
else{
console.log("No request handler founder for " + pathname );
return "404 Not found";
}
}
exports.route = route; // exports 외부에서 호출가능하게함

request_handler.js
function start() {
console.log("Request handler 'start' was called");
return "Hello Start";
}
function upload() {
console.log("Request handler 'upload' was called");
return "Hello Upload";
}

exports.start = start;
exports.upload = upload;

server.js

var http = require("http");
var url = require("url");

function start(route, handle) {
function onRequest( request, response ) {
var pathname = url.parse(request.url).pathname;
console.log("Request"+pathname+" received");

response.writeHead(200, {"Content-Type": "text/plain"});
var content = route( pathname, handle);
response.write(content);
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("server has started");
}
exports.start = start;


// 블락킹 하기 ( 타이머 )
request_handler.js

function start() {
console.log("Request handler 'start' was called");
function sleep(milliSeconds) {
var startTime = new Date().getTime();
while( new Date().getTime() < startTime + milliSeconds );
}

Posted by 에브리피플
,