blob: 0232483a29283c57165e5d432f4fcdb096c2bc98 [file] [log] [blame] [edit]
/* jshint globalstrict:true, node:true */
'use strict';
var http = require('http'),
url = require('url'),
path = require('path'),
fs = require('fs'),
domain = require('domain').create();
var mimeTypes = {
html: 'text/html',
json: 'application/json',
js: 'text/javascript',
css: 'text/css',
};
// *VERY* minimal static file server
http
.createServer(function (req, res) {
var uri = url.parse(req.url).pathname,
filename;
if (uri === '/test/') {
uri = '/test/index.html';
}
filename = path.join(process.cwd(), uri);
domain.on('error', function () {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('404 Not Found\n');
});
domain.run(function () {
var mimeType =
mimeTypes[path.extname(filename).split('.')[1]] || 'text/plain';
res.writeHead(200, { 'Content-Type': mimeType });
fs.createReadStream(filename).pipe(res);
});
})
.listen(8000);
console.log(
'Test server is running on \x1B[1m\x1B[32mhttp://localhost:8000/test/\x1B[39m, press Ctrl-C to stop.'
);