Moved special pages ( /, /robots.txt, /favicon.ico ) to their own module

This commit is contained in:
Egil Moeller 2012-02-24 20:50:55 +01:00
parent 21300bd6c7
commit 752dc5ca26
3 changed files with 47 additions and 35 deletions

View File

@ -372,36 +372,7 @@ async.waterfall([
res.end("OK");
});
});
//serve index.html under /
app.get('/', function(req, res)
{
var filePath = path.normalize(__dirname + "/../static/index.html");
res.sendfile(filePath, { maxAge: exports.maxAge });
});
//serve robots.txt
app.get('/robots.txt', function(req, res)
{
var filePath = path.normalize(__dirname + "/../static/robots.txt");
res.sendfile(filePath, { maxAge: exports.maxAge });
});
//serve favicon.ico
app.get('/favicon.ico', function(req, res)
{
var filePath = path.normalize(__dirname + "/../static/custom/favicon.ico");
res.sendfile(filePath, { maxAge: exports.maxAge }, function(err)
{
//there is no custom favicon, send the default favicon
if(err)
{
filePath = path.normalize(__dirname + "/../static/favicon.ico");
res.sendfile(filePath, { maxAge: exports.maxAge });
}
});
});
//let the server listen
app.listen(settings.port, settings.ip);
console.log("Server is listening at " + settings.ip + ":" + settings.port);

33
node/specialpages.js Normal file
View File

@ -0,0 +1,33 @@
var path = require('path');
exports.expressServer = function (hook_name, args, cb) {
//serve index.html under /
args.app.get('/', function(req, res)
{
var filePath = path.normalize(__dirname + "/../static/index.html");
res.sendfile(filePath, { maxAge: exports.maxAge });
});
//serve robots.txt
args.app.get('/robots.txt', function(req, res)
{
var filePath = path.normalize(__dirname + "/../static/robots.txt");
res.sendfile(filePath, { maxAge: exports.maxAge });
});
//serve favicon.ico
args.app.get('/favicon.ico', function(req, res)
{
var filePath = path.normalize(__dirname + "/../static/custom/favicon.ico");
res.sendfile(filePath, { maxAge: exports.maxAge }, function(err)
{
//there is no custom favicon, send the default favicon
if(err)
{
filePath = path.normalize(__dirname + "/../static/favicon.ico");
res.sendfile(filePath, { maxAge: exports.maxAge });
}
});
});
}

View File

@ -1,8 +1,16 @@
{
"parts": [{
"name": "static",
"hooks": {
"expressServer": "../static:expressServer"
"parts": [
{
"name": "static",
"hooks": {
"expressServer": "../static:expressServer"
}
},
{
"name": "specialpages",
"hooks": {
"expressServer": "../specialpages:expressServer"
}
}
}]
]
}