# HG changeset patch # User Emmanuel Gil Peyrot # Date 1316423622 25200 # Node ID 29becdd02dead8a16efb667ed06b7a3ca0f195df # Parent 4d7a673490890120d7aa1bf337f41bfc8b55648c Fix server file handling. diff --git a/server.js b/server.js --- a/server.js +++ b/server.js @@ -6,6 +6,7 @@ var config = require('./configuration'); var util = require('util'); var http = require('http'); +var parseurl = require('url').parse; var fs = require('fs'); var xmpp = require('node-xmpp'); var Element = xmpp.Element; @@ -352,7 +353,6 @@ var home = function(res, title, desc, bo } res.write(' \n'); - console.log('It works!'); res.end('\n'); }; @@ -360,15 +360,15 @@ http.createServer(function(req, res) { util.log('Connection from ' + (req.headers['x-forwarded-for'] || req.client.remoteAddress) + ' (' + req.headers['user-agent'] + ') to ' + req.method.toLocaleLowerCase() + ' “' + req.url + '” from ' + req.headers['referer'] + '.'); var re = new RegExp('^' + config.webRoot); - req.url = req.url.replace(re, ''); - var ext = req.url.substring(req.url.lastIndexOf('.')+1); - var url = require('url').parse(req.url); + var url = parseurl(req.url.replace(re, '')); + var pathname = url.pathname || ''; + var ext = pathname.substring(pathname.lastIndexOf('.')+1); - if (url.pathname === '') + if (pathname === '') return servePage(url, res); - fs.readFile(req.url, function(err, data) { - if (err) + fs.readFile(pathname, function(err, data) { + if (err || pathname === 'index.xhtml') return servePage(url, res); res.writeHead(200, {'Content-Type': config.types[ext] || 'application/octet-stream'});