-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
56 lines (49 loc) · 1.46 KB
/
server.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
var loopback = require('loopback');
var boot = require('loopback-boot');
// To simulate a hardware chip protected by encrypted communication, we will use https.
var https = require('https');
var sslConfig = require('./ssl-config');
var options = {
key: sslConfig.privateKey,
cert: sslConfig.certificate
};
var app = module.exports = loopback();
app.start = function(httpOnly) {
if(httpOnly === undefined) {
httpOnly = process.env.HTTP;
}
var server = null;
if(!httpOnly) {
var options = {
key: sslConfig.privateKey,
cert: sslConfig.certificate
};
server = https.createServer(options, app);
} else {
server = http.createServer(app);
}
server.listen(app.get('port'), function() {
var baseUrl = (httpOnly? 'http://' : 'https://') + app.get('host') + ':' + app.get('port');
app.emit('started', baseUrl);
console.log('LoopBack server listening @ %s%s', baseUrl, '/');
});
return server;
};
/*
app.start = function() {
// start the web server
var port = process.env.PORT || 5000;
return app.listen(port, function() {
app.emit('started');
console.log('Web server listening at: %s', app.get('url'));
});
};
*/
// Bootstrap the application, configure models, datasources and middleware.
// Sub-apps like REST API are mounted via boot scripts.
boot(app, __dirname, function(err) {
if (err) throw err;
// start the server if `$ node server.js`
if (require.main === module)
app.start();
});