1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/phodal-diaonan

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
qest-app.js 5.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Fengda HUANG Отправлено 10 лет назад f4cd7c2
var EventEmitter, RedisStore, app, argv, ascoltatori, configure, express, fs, hbs, http, load, mqtt, optimist,
optionParser, path, redis, setup, setupAscoltatore, start, coap;
optimist = require('optimist');
express = require('express');
path = require('path');
fs = require('fs');
coap = require('coap');
hbs = require('hbs');
redis = require('redis');
mqtt = require("mqtt");
EventEmitter = require('events').EventEmitter;
RedisStore = require('connect-redis')(express);
ascoltatori = require('ascoltatori');
module.exports.app = app = express();
http = require('http').createServer(app);
app.redis = {};
module.exports.configure = configure = function () {
var io;
app.configure('development', function () {
return app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
});
app.configure('production', function () {
return app.use(express.errorHandler());
});
app.configure(function () {
app.set('views', __dirname + '/app/views');
app.set('view engine', 'hbs');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({
secret: "wyRLuS5A79wLn3ItlGVF61Gt"
}, {
store: new RedisStore({
client: app.redis.client
}),
maxAge: 1000 * 60 * 60 * 24 * 14
}));
app.use(app.router);
return app.use(express["static"](__dirname + '/public'));
});
io = app.io = require('socket.io').listen(http);
io.configure('production', function () {
io.enable('browser client minification');
io.enable('browser client etag');
io.enable('browser client gzip');
return io.set('log level', 0);
});
io.configure('test', function () {
return io.set('log level', 0);
});
load("models");
load("controllers");
return load("helpers");
};
load = function (key) {
var component, loadPath, loadedModule, _i, _len, _ref, _results;
app[key] = {};
loadPath = __dirname + ("/app/" + key + "/");
_ref = fs.readdirSync(loadPath);
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
component = _ref[_i];
if (component.match(/(js|coffee)$/)) {
component = path.basename(component, path.extname(component));
loadedModule = require(loadPath + component)(app);
if (((loadedModule != null ? loadedModule.name : void 0) != null) && loadedModule.name !== "") {
component = loadedModule.name;
}
_results.push(app[key][component] = loadedModule);
} else {
_results.push(void 0);
}
}
return _results;
};
optionParser = optimist
["default"]('port', 3000)
["default"]('mqtt', 1883)
["default"]('coap', 5683)
["default"]('redis-port', 6379)
["default"]('redis-host', '127.0.0.1')
["default"]('redis-db', 0)
.usage("Usage: $0 [-p WEB-PORT] [-m MQTT-PORT][-c COAP-PORT] [-rp REDIS-PORT] [-rh REDIS-HOST]")
.alias('port', 'p')
.alias('mqtt', 'm')
.alias('coap', 'c')
.alias('redis-port', 'rp')
.alias('redis-host', 'rh')
.alias('redis-db', 'rd')
.describe('port', 'The port the web server will listen to')
.describe('mqtt', 'The port the mqtt server will listen to')
.describe('coap', 'The port the coap server will listen to')
.describe('redis-port', 'The port of the redis server')
.describe('redis-host', 'The host of the redis server')
.boolean("help")
.describe("help", "This help");
argv = optionParser.argv;
module.exports.setupAscoltatore = setupAscoltatore = function (opts) {
if (opts == null) {
opts = {};
}
return app.ascoltatore = new ascoltatori.RedisAscoltatore({
redis: redis,
port: opts.port,
host: opts.host,
db: opts.db
});
};
module.exports.setup = setup = function (opts) {
var args;
if (opts == null) {
opts = {};
}
args = [opts.port, opts.host];
app.redis.client = redis.createClient.apply(redis, args);
app.redis.client.select(opts.db || 0);
return setupAscoltatore(opts);
};
start = module.exports.start = function (opts, callback) {
var countDone, done;
if (opts === null || opts === undefined) {
opts = {};
}
if (callback === null || callback === undefined) {
callback = function () {
};
}
opts.port || (opts.port = argv.port);
opts.mqtt || (opts.mqtt = argv.mqtt);
opts.coap || (opts.coap = argv.coap);
opts.redisPort || (opts.redisPort = argv['redis-port']);
opts.redisHost || (opts.redisHost = argv['redis-host']);
opts.redisDB || (opts.redisDB = argv['redis-db']);
if (argv.help) {
optionParser.showHelp();
return 1;
}
setup({
port: opts.redisPort,
host: opts.redisHost,
db: opts.redisDB
});
configure();
countDone = 0;
done = function () {
if (countDone++ === 2) {
return callback();
}
};
http.listen(opts.port, function () {
console.log("oap-mqtt-rest web server listening on port %d in %s mode", opts.port, app.settings.env);
return done();
});
coap.createServer(app.controllers.coap_api).listen(opts.coap, function () {
console.log("coap-mqtt-rest coap server listening on port %d in %s mode", opts.coap, app.settings.env);
return done();
});
mqtt.createServer(app.controllers.mqtt_api).listen(opts.mqtt, function () {
console.log("oap-mqtt-rest mqtt server listening on port %d in %s mode", opts.mqtt, app.settings.env);
return done();
});
return app;
};
if (require.main.filename === __filename) {
start();
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/phodal-diaonan.git
git@gitlife.ru:oschina-mirror/phodal-diaonan.git
oschina-mirror
phodal-diaonan
phodal-diaonan
master