From 8fe4ff628b047fb2924448f4bb106d84a176f53e Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 9 Jun 2015 05:28:51 -0400 Subject: [PATCH] feature(cloudcmd) speedup: execon.series -> express --- lib/cloudcmd.js | 41 +++++++++++++++++++++++++++-------------- lib/server.js | 2 +- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/lib/cloudcmd.js b/lib/cloudcmd.js index 914f3fcc..229b7330 100644 --- a/lib/cloudcmd.js +++ b/lib/cloudcmd.js @@ -37,10 +37,7 @@ module.exports = function(params) { var keys, p = params || {}, - prefix = p.prefix || '/cloudcmd', - - funcs = cloudcmd(), - middle = respond.bind(null, prefix, funcs); + prefix = p.prefix || '/cloudcmd'; if (params) { keys = Object.keys(params); @@ -50,6 +47,15 @@ }); } + return cloudcmd(prefix); + }; + + module.exports.middle = function(params) { + var p = params || {}, + prefix = p.prefix || '/cloudcmd', + funcs = cloudcmd(), + middle = respond.bind(null, prefix, funcs); + return middle; }; @@ -79,7 +85,7 @@ }); }; - function cloudcmd() { + function cloudcmd(prefix) { var isOption = function(name) { return config(name); }, @@ -97,6 +103,7 @@ }), funcs = [ + setUrl(prefix), authFunc, config(), restafary({ @@ -146,16 +153,22 @@ return funcs; } - function respond(prefix, funcs, req, res) { - var is = !req.url.indexOf(prefix); - - if (is) { - req.url = req.url.replace(prefix, '') || '/'; + function setUrl(prefix) { + return function(req, res, next) { + var is = !req.url.indexOf(prefix); - if (req.url === '/cloudcmd.js') - req.url = '/lib/client/cloudcmd.js'; - } - + if (is) { + req.url = req.url.replace(prefix, '') || '/'; + + if (req.url === '/cloudcmd.js') + req.url = '/lib/client/cloudcmd.js'; + } + + next(); + }; + } + + function respond(prefix, funcs, req, res) { funcs = funcs.map(function(func) { return Util.exec.with(func, req, res); }); diff --git a/lib/server.js b/lib/server.js index add0e156..0dc31ef6 100644 --- a/lib/server.js +++ b/lib/server.js @@ -29,7 +29,7 @@ config('ip') || '0.0.0.0', - expressApp = express.getApp([middle], { + expressApp = express.getApp(middle, { auth : config('auth'), username: config('username'), password: config('password')