-
Notifications
You must be signed in to change notification settings - Fork 3
/
app.js
executable file
·73 lines (53 loc) · 1.65 KB
/
app.js
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
63
64
65
66
67
68
69
70
71
72
73
/**
* Module dependencies.
*/
var settings = require('./settings').init('app')
var express = require('express')
var app = module.exports = express.createServer()
var mongooseAuth = require('mongoose-auth')
, io = require('socket.io')
, sio = require('socket.io-sessions')
, MyStore = express.session.MemoryStore
, sessionStore = settings.sessionStore
require('./models')
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views')
app.set('view engine', 'ejs')
app.use(express.logger())
app.use(express.bodyParser())
app.use(express.methodOverride())
app.use(express.cookieParser())
app.use(express.session({secret: 'thisisamotherfuckingsecret', store: sessionStore}))
app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] }))
app.use(mongooseAuth.middleware())
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())
})
var io = require('socket.io').listen(app)
// Websockts broken in Chrome 14
// io.set('transports', [
// 'htmlfile',
// 'xhr-polling',
// 'jsonp-polling'
// ])
io.set('log level', settings.config.socketio.loglevel)
var socket = sio.enable({
socket: io,
store: sessionStore,
parser: express.cookieParser()
})
// Sockets
require('./sockets')(app, socket)
// Routes
require('./routes')(app, socket)
mongooseAuth.helpExpress(app)
if (require.main === module) {
app.listen(3000)
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env)
}