|
|
|
/*! @file
|
|
|
|
|
|
|
|
@id $Id$
|
|
|
|
*/
|
|
|
|
// 1 2 3 4 5 6 7 8
|
|
|
|
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
|
|
|
try {
|
|
|
|
|
|
|
|
process.on('uncaughtException', function(e) {
|
|
|
|
console.log("**** UNCAUGHT EXCEPTION ****");
|
|
|
|
console.log(e);
|
|
|
|
console.log(e.stack);
|
|
|
|
process.exit(1);
|
|
|
|
});
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Module dependencies.
|
|
|
|
*/
|
|
|
|
|
|
|
|
var express = require('express')
|
|
|
|
, routes = require(__dirname+'/routes');
|
|
|
|
|
|
|
|
var app = express.createServer();
|
|
|
|
var io = require('socket.io').listen(app);
|
|
|
|
var package = require(__dirname+'/package.json');
|
|
|
|
var config = require(package.path.config);
|
|
|
|
var authentication = require('authentication.js')(config.restrict);
|
|
|
|
var sockets = require(__dirname+'/sockets')(app, io, authentication);
|
|
|
|
|
|
|
|
// 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'));
|
|
|
|
});
|
|
|
|
|
|
|
|
app.configure('development', function(){
|
|
|
|
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
|
|
|
|
});
|
|
|
|
|
|
|
|
app.configure('production', function(){
|
|
|
|
app.use(express.errorHandler());
|
|
|
|
});
|
|
|
|
|
|
|
|
// Routes
|
|
|
|
app.get('/', routes.index);
|
|
|
|
|
|
|
|
app.listen(config.port, function() {
|
|
|
|
console.log("Express server listening on port %d in %s mode",
|
|
|
|
app.address().port, app.settings.env);
|
|
|
|
});
|
|
|
|
} catch (e) {
|
|
|
|
console.log("**** EXCEPTION ****");
|
|
|
|
console.log(e);
|
|
|
|
console.log(e.stack);
|
|
|
|
process.exit(1);
|
|
|
|
}
|