-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
70 lines (58 loc) · 1.77 KB
/
index.js
File metadata and controls
70 lines (58 loc) · 1.77 KB
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
/*!
* app.js is the server component of slippery
*
* @author pfleidi
*/
var Express = require('express');
var Log4js = require('log4js');
var Fs = require('fs');
var WebSocket = require('./lib/websocket.js');
var MemoryStore = Express.session.MemoryStore;
var sessionStore = new MemoryStore();
var PORT = 8080;
var LOGFILE = __dirname + '/log/slideshow.log';
var CONTROLLERS_FOLDER = __dirname + "/controllers/";
var logger = Log4js.getLogger('slideshow');
/*
* set up the application
*/
var app = module.exports = Express.createServer();
app.configure(function () {
app.use(Express.cookieParser());
app.use(Express.session({
store: sessionStore,
key: 'slides.uid',
secret: 'fljkasaskjfhdaskjf'
}));
app.use(Express.static(__dirname + '/public'));
app.use(app.router);
});
app.configure('development', function () {
app.use(Express.errorHandler({
dumpExceptions: true,
showStack: true
}));
logger.setLevel('DEBUG');
});
app.configure('production', function () {
var accessLog = Fs.createWriteStream(__dirname + '/logs/access.log', {
encoding: 'utf-8',
flags: 'a'
});
app.use(Express.logger({ stream: accessLog }));
app.use(Express.errorHandler());
Log4js.addAppender(Log4js.fileAppender(LOGFILE));
logger.setLevel('ERROR');
});
var io = require('socket.io').listen(app);
WebSocket.handleSockets(io, logger, sessionStore);
(function initControllers() {
Fs.readdirSync(CONTROLLERS_FOLDER).forEach(function (file) {
if (/\.js$/.test(file)) {
require(CONTROLLERS_FOLDER + file).register(app);
}
});
}());
app.listen(PORT, function () {
logger.info('Server listening on port: http://localhost:' + PORT);
});