From 881ce04f4b69db6b52456c6505c2e106eb20526d Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 10 Feb 2014 05:00:20 -0500 Subject: [PATCH] feature(express) add join as express middleware --- lib/server.js | 21 ++++++++++++++------- lib/server/express.js | 14 +++++++++++--- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/lib/server.js b/lib/server.js index 8a95543a..3d2c7a60 100644 --- a/lib/server.js +++ b/lib/server.js @@ -97,7 +97,11 @@ }, lHTTPServer = function() { - expressApp = express.getApp(controller); + expressApp = express.getApp([ + join, + controller + ]); + Server = http.createServer(expressApp || controller); Server.on('error', Util.log.bind(Util)); @@ -183,10 +187,8 @@ if (!lRet && Route) lRet = Util.exec(Route, data); - if (!lRet) - lRet = join(pReq, pRes, function(error) { - main.sendError(data, error); - }); + if (!lRet && !expressApp) + lRet = join(pReq, pRes); if (!lRet) { lName = data.name; @@ -263,7 +265,11 @@ if (error) if (!response.headersSent) - Util.exec(callback, error); + main.sendError({ + request : request, + response : response, + name : path + }, error); else { Util.log(error); errorStr = error.toString(); @@ -304,7 +310,8 @@ } Util.asyncCall(funcs, readPipe); } - } + } else + Util.exec(callback); return isJoin; } diff --git a/lib/server/express.js b/lib/server/express.js index 2d1f07af..03f3ea00 100644 --- a/lib/server/express.js +++ b/lib/server/express.js @@ -18,8 +18,9 @@ oldName, app = express && express(); - exports.getApp = function(controller) { - var config = main.config, + exports.getApp = function(middleware) { + var i, n, middle, + config = main.config, auth = config.auth; if (app) { @@ -30,7 +31,14 @@ app.use(httpAuth.connect(basic)); } - app.all('*', controller); + if (middleware) { + n = middleware.length; + + for (i = 0; i < n; i++) { + middle = middleware[i]; + app.use(middle); + } + } } return app;