From 752dc5ca265f39a1bb8124cd4ce2b6843c8e1836 Mon Sep 17 00:00:00 2001 From: Egil Moeller Date: Fri, 24 Feb 2012 20:50:55 +0100 Subject: [PATCH] Moved special pages ( /, /robots.txt, /favicon.ico ) to their own module --- node/server.js | 31 +------------------------------ node/specialpages.js | 33 +++++++++++++++++++++++++++++++++ pluginomatic.json | 18 +++++++++++++----- 3 files changed, 47 insertions(+), 35 deletions(-) create mode 100644 node/specialpages.js diff --git a/node/server.js b/node/server.js index de50ea24..2f0b47ff 100644 --- a/node/server.js +++ b/node/server.js @@ -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); diff --git a/node/specialpages.js b/node/specialpages.js new file mode 100644 index 00000000..a920d6f1 --- /dev/null +++ b/node/specialpages.js @@ -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 }); + } + }); + }); +} \ No newline at end of file diff --git a/pluginomatic.json b/pluginomatic.json index e78f1149..fe5039e3 100644 --- a/pluginomatic.json +++ b/pluginomatic.json @@ -1,8 +1,16 @@ { - "parts": [{ - "name": "static", - "hooks": { - "expressServer": "../static:expressServer" + "parts": [ + { + "name": "static", + "hooks": { + "expressServer": "../static:expressServer" + } + }, + { + "name": "specialpages", + "hooks": { + "expressServer": "../specialpages:expressServer" + } } - }] + ] }