// // Very simple Node.js file server by Timur Kristóf // var http = require('http'); var url = require('url'); var fs = require('fs'); var mime = require('mime'); // Figure out port number var portNumber = process.env.PORT || 1337; // Create HTTP server var server = http.createServer(function (req, res) { // Examine URL, get requested file path var currentUrl = url.parse(req.url, true); if (currentUrl.pathname === "/" || currentUrl.pathname.indexOf("..") > -1) { currentUrl.pathname = "/index.html"; } var filePath = __dirname + currentUrl.pathname; //console.log("requested:", req.url, filePath); // Check if file exists fs.exists(filePath, function (exists) { if (!exists) { // Return with 404 res.writeHead(404, { 'Content-Type': 'text/html; charset=utf-8' }); res.end("There is no such thing on this server."); return; } // Write response head res.writeHead(200, { 'Content-Type': mime.lookup(filePath) }); // Pipe the file stream into the response stream var fileStream = fs.createReadStream(filePath); fileStream.pipe(res); }); }); // Start server server.listen(portNumber); console.log("web server listening on: " + portNumber);