diff --git a/lib/server.js b/lib/server.js index bfa9f99e..67bed8ef 100644 --- a/lib/server.js +++ b/lib/server.js @@ -116,21 +116,24 @@ } function createServer(port, ip, protocol, ssl, callback) { - var server, app; + var server, app, + funcs = [ + Rest, + Route, + join, + controller + ], + + respondApp = Util.exec.with(respond, funcs); - expressApp = express.getApp([ - Rest, - Route, - join, - controller - ]); + expressApp = express.getApp(funcs); - app = expressApp || respond; + app = expressApp || respondApp; if (ssl) - server = https.createServer(ssl, app); + server = https.createServer(ssl, app); else - server = http.createServer(app); + server = http.createServer(app); server.on('error', function(error) { Util.log(error); @@ -167,13 +170,8 @@ Util.log(msg); } - function respond(req, res) { - var funcs = ([ - Rest, - Route, - join, - controller - ]).map(function(func) { + function respond(funcs, req, res) { + funcs = funcs.map(function(func) { return Util.exec.with(func, req, res); });