feature(cloudcmd) add plugins

This commit is contained in:
coderaiser 2016-11-28 18:21:13 +02:00
parent 39934033b8
commit 4d14071ede
8 changed files with 186 additions and 7 deletions

View file

@ -12,6 +12,7 @@ var rest = require(DIR_SERVER + 'rest');
var route = require(DIR_SERVER + 'route');
var validate = require(DIR_SERVER + 'validate');
var prefixer = require(DIR_SERVER + 'prefixer');
var pluginer = require(DIR_SERVER + 'plugins');
var apart = require('apart');
var join = require('join-io');
@ -50,9 +51,13 @@ function getPrefix(prefix) {
module.exports = function(params) {
var p = params || {};
var options = p.config || {};
var plugins = p.plugins;
var keys = Object.keys(options);
var prefix;
checkPlugins(plugins);
keys.forEach(function(name) {
var value = options[name];
@ -84,7 +89,7 @@ module.exports = function(params) {
if (p.socket)
listen(prefix, p.socket);
return cloudcmd(prefix);
return cloudcmd(prefix, plugins);
};
function defaultTrue(value) {
@ -169,7 +174,7 @@ function listen(prefix, socket) {
});
}
function cloudcmd(prefix) {
function cloudcmd(prefix, plugins) {
var isOption = function(name) {
return config(name);
};
@ -260,6 +265,7 @@ function cloudcmd(prefix) {
is : isMinify
}),
pluginer(plugins),
ponseStatic
];
@ -290,3 +296,10 @@ function setUrl(pref) {
};
}
function checkPlugins(plugins) {
if (typeof plugins === 'undefined')
return;
if (!Array.isArray(plugins))
throw Error('plugins should be an array!');
}