Files
safechat/nodejs/safechat.js
2016-11-28 16:00:39 +00:00

66 lines
1.9 KiB
JavaScript

/**
* Module dependencies.
*/
var package = require(__dirname+'/package.json');
var config = require(package.path.config);
var express = require('express');
var app = module.exports = express.createServer();
var routes = require(__dirname+'/routes')(app, package);
var io = require('socket.io').listen(app);
var sql = require(__dirname+'/database')(config.mysql);
var sockets = require(__dirname+'/sockets')(sql);
// Configuration
process.argv.forEach(function(val, index) {
if (index<2) {return}
if (index!=2 || isNaN(val)) {
console.log("**** ERROR: Unexpected Argument - allowed is only a port number");
process.exit(1);
}
config.port = parseInt(val);
});
if (typeof config.port != 'number') {
console.log("**** WARNING: no valid port given, defaults to 8888");
config.port = 8888;
}
app.configure(function() {
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(require('stylus').middleware({ src: __dirname + '/public' }));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
[
'jquery/dist/jquery.min.js',
'jquery/dist/jquery.js',
'openpgp/dist/openpgp.min.js',
'openpgp/dist/openpgp.js',
'openpgp/dist/openpgp.worker.min.js',
'openpgp/dist/openpgp.worker.js'
].forEach(function(file) {
app.get('/'+file.replace(/.*\//g, ''),
function(req, res) {
res.sendfile('/node_modules/'+file, {root: __dirname})
})
})
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Sockets
io.sockets.on('connection', sockets.connection);
app.listen(config.port, function(){
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});