프로그램

node 를 이용한 아주 작은 웹서버

mulderu 2012. 12. 22. 09:53


아주 아찔하고 콤팩트한 웹서버


var http = require('http');
var url  = require('url');
var path = require('path');
var fs   = require('fs');

http.createServer(function(request, response) {
	var uri = url.parse(request.url).pathname;
	var filename = path.join(process.cwd(), uri);

	fs.readFile(filename, 'binary', function(err, file) {
		if (err) {
			response.writeHead(500, { 'Content-Type': 'text/plain' });
			response.write(err + '\n');
			response.end();
			return;
		}

		response.writeHead(200, filename.match(/\.js$/) ? { 'Content-Type': 'text/javascript' } : {});
		response.write(file, 'utf-8');
		response.end();
	});
}).listen(8124, '0.0.0.0');

console.log('Test suite at http://0.0.0.0:8124/test.html');


24줄이다... 놀라울 뿐입니다. 그나마 2줄이 공백라인이니 22줄, 

우리가  node 를 시작해야만 되는 가장 단순한 이유라고 생각 한다.