forked from QlikPreSalesDACH/Qlik-Sense-Agent
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
91 lines (69 loc) · 2.55 KB
/
server.js
File metadata and controls
91 lines (69 loc) · 2.55 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
//require statements
var express = require('express');
var config = require('./config/config');
var fs = require('fs');
var path = require('path');
var https = require('https');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var socketio = require('socket.io');
var app = express();
app.use(cookieParser());
app.use(bodyParser.json()); // for parsing application/json
if (!config.app.devMode) {
var rewrite = require("./middleware/rewrite");
var auth = require('./middleware/auth');
var vpList = require('./middleware/vpList');
app.use(vpList());
app.use(rewrite());
app.use(auth());
}
app.use("/qsa/public", express.static(config.app.publicPath));
app.use("/qsa/app", express.static(config.app.appPath));
app.use("/qsa/node_modules", express.static(config.app.nodePath));
app.use("/*/qsa/public", express.static(config.app.publicPath));
app.use("/*/qsa/app", express.static(config.app.appPath));
app.use("/*/qsa/node_modules", express.static(config.app.nodePath));
app.get('/test', function(req, res, next) {
res.json({ message: 'Hello World' });
});
var port = config.app.port || 8589;
var routes = require("./routes");
app.use("/*/qsa", routes);
app.use("/qsa", routes);
var httpsOptions = {}
if (config.hasOwnProperty("certificates")) {
if (config.certificates.server !== undefined) {
//pem files in use
httpsOptions.cert = fs.readFileSync(config.certificates.server);
httpsOptions.key = fs.readFileSync(config.certificates.server_key);
}
if (config.certificates.pfx !== undefined) {
httpsOptions.pfx = fs.readFileSync(config.certificates.pfx);
httpsOptions.passphrase = config.certificates.passphrase;
}
} else {
httpsOptions.cert = fs.readFileSync(config.certificates.server),
httpsOptions.key = fs.readFileSync(config.certificates.server_key)
}
var server = https.createServer(httpsOptions, app);
server.listen(port, function () {
console.log("Server running on port: " + port);
});
var io = new socketio(server);
// io.on('connection', function (socket) {
// socket.on("qsa", function (msg) {
// console.log("qsa" + "::" + msg.percent + ' ' + msg.msg);
// io.emit("qsa", msg);
// });
// });
io.on('connection', function (socket) {
socket.on('subscribe', function(room) {
console.log('joining room', room);
socket.join(room);
});
socket.on('qsa', function(msg, room) {
console.log('room: ', room + ', msg: ' + msg.msg);
io.sockets.in(room).emit('private', msg);
});
});