summaryrefslogtreecommitdiff
path: root/app.js
blob: 0611508c44e036df64bda67575e082c63deb2d91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
var express = require('express'),
    io = require('socket.io'),
    ejs = require('ejs'),
    mongoose = require('mongoose');

var app = module.exports = express.createServer();
io = require('socket.io').listen(app);

app.configure(function(){
    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
    app.use(express.bodyParser());
    app.use(express.logger());
    app.use(express.methodOverride());
    app.use(express.static(__dirname + '/public'));
});

app.configure('development', function(){
    mongoose.connect('mongodb://localhost/warpfx');
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
    io.set('transports', ['websocket']);
});

app.configure('production', function(){
    io.enable('browser client minification');  // send minified client
    io.enable('browser client etag');          // apply etag caching logic based on version number
    io.enable('browser client gzip');          // gzip the file
    io.set('log level', 1);                    // reduce logging
    io.set('transports', [                     // enable all transports (optional if you want flashsocket)
        'websocket'
        , 'flashsocket'
        , 'htmlfile'
        , 'xhr-polling'
        , 'jsonp-polling'
    ]);
});


/*
 * Application routes.
 *
 */

var db = require( './lib/models' ),
    room = require( './lib/room' );

app.get( '/', function( req, res ) {
  res.render( 'grid', {} );
});
app.get( '/grid', function( req, res ) {
  res.render( 'grid', {} );
});

io.sockets.on('connection', function(socket){
  room.connect(io, socket);
});

app.listen(1783, function(){
  console.log("WARPFX server listening on port %d in %s mode", app.address().port, app.settings.env);
});