[TIC-Web] add RESTful api for session
[archive/20170607/tools/tic.git] / app.js
1 var express = require('express');
2 var session = require('express-session');
3 var path = require('path');
4 var bodyParser = require('body-parser');
5 var JL = require('jsnlog').JL;
6 var jsnlog_nodejs = require('jsnlog-nodejs').jsnlog_nodejs;
7 var logger = JL('app.js');
8 var CONFIG = require('./config.json');
9
10 var app = express();
11 /* app config */
12 app.set('port', process.env.PORT || CONFIG.TIC_WEB.PORT);
13 app.use(bodyParser.json());
14 app.use(bodyParser.urlencoded({extended: true}));
15 app.use(express.static(path.join(__dirname, '/public/src'))); //module directory
16
17 var server = require('./controller/server').start(app);
18 var io = require('./controller/socketio').listen(server);
19 var router = require('./controller/router').init(server);
20
21 app.use(session({
22     secret: 'tic',
23     resave: false,
24     saveUninitialized: true
25 }));
26
27 app.use('/api', router);
28
29 /**
30  * jsnlog.js on the client by default sends log messages to /jsnlog.logger, using POST.
31  * @URI /*.logger
32  * @TYPE POST
33  */
34 app.post('*.logger', function (req, res) {
35     // Pass the log messages to the server side jsnlog.js
36     jsnlog_nodejs(JL, req.body);
37
38     // Send empty response. This is ok, because client side jsnlog does not use response from server.
39     res.send('');
40 });