-
Notifications
You must be signed in to change notification settings - Fork 0
/
server-04.js
63 lines (51 loc) · 2.04 KB
/
server-04.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
/*
Login (post userName and store in session)
- Start with server-01.js
- Add jsessionid from server-03.js
- Create the index.html which could post a userName
- for serving the static (css etc.), require('path') and also app.use(express.static(path.join(__dirname, 'public')));
- had to add bodyParser.json() and ensure the contentType is json both ways
- (apparently bodyParser is not good, express.json is, according to http://andrewkelley.me/post/do-not-use-bodyparser-with-express-js.html)
- introduced socket.io
- but had to change app.listen(...) to server.listen(...) for it to work correctly
*/
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var session = require('express-session');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
app.use(express.static(path.join(__dirname, 'public')));
app.use(bodyParser.json());
app.use(cookieParser());
app.use(session({
name: 'jsessionid', // access using req.cookies['jsessionid']
secret: 'keyboard cat',
saveUninitialized: true, // avoids warning
resave: true // avoids warning
}));
app.get('/', function(req, res) {
res.sendfile('public/index.html');
});
io.on('connection', function(socket){
console.log('a user connected');
});
/*
When the user logs in (in our case, does http POST w/ user name), store it
in Express session
*/
app.post('/user', function (req, res) {
req.session.user = req.body.user;
console.log("set the session value for user: " + req.session.user);
res.json({"error":""});
});
//var server = app.listen(app.get('port'), function() {
// console.log('Express server listening on port ' + server.address().port);
//});
app.set('port', process.env.PORT || 3000);
server.listen(app.get('port'), function () {
var serverName = process.env.VCAP_APP_HOST ? process.env.VCAP_APP_HOST + ":" + process.env.VCAP_APP_PORT : 'localhost:3000';
console.log("Express server listening on " + serverName);
});