-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
59 lines (53 loc) · 2.21 KB
/
app.js
File metadata and controls
59 lines (53 loc) · 2.21 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
#!/usr/bin/env node
var config = require('config').get('iot-edge')
var start = Date.now()
console.log(
'_____ _____ _________ \n' +
'___(_)_______ /_ ___________ /______ _____ \n' +
'__ /_ __ \\ __/ _ _ \\ __ /__ __ `/ _ \\ \n' +
'_ / / /_/ / /_ / __/ /_/ / _ /_/ // __/ \n' +
'/_/ \\____/\\__/ \\___/\\__,_/ _\\__, / \\___/ \n' +
' /____/ ');
// Export as a full app
var app = module.exports = require('express')()
// Common middleware
app.use(require('express-domain-middleware'))
app.use(require('response-time')())
app.use(require('morgan')(config.get('morgan.logType'), config.get('morgan.config')))
app.use(require('cors')())
app.use(require('compression')())
app.use(require('cookie-parser')())
app.use(require('body-parser').text())
app.use(require('body-parser').json())
app.use(require('body-parser').urlencoded({ extended: true }))
app.use(require('./lib/middleware').addRequestID())
app.use(require('./lib/middleware').addPoweredBy('iot-edge server'))
app.use(require('./lib/middleware').addMetaSupport())
app.use(require('./lib/middleware').addResponseCookies())
app.use(require('./lib/middleware').addConsistentParameterProcessing())
app.use('/', require('./index'))
app.get('/status', require('./lib/status').getStatus)
// Final error handling
app.use(require('./lib/middleware').finalErrorHandler())
// Start the server
require('./lib/bootstrap')()
.then(function() {
var http = require('http')
var fqdn = config.get('externalExposure.fqdn')
var externalPort = config.get('externalExposure.httpPort')
var internalPort = config.get('server.port')
var interface = config.get('server.interface')
var server = http.createServer(app)
var io = require('socket.io')(server);
require('./lib/socket-io')(io);
server.listen(internalPort, interface)
console.log('Startup in ' + (Date.now() - start) + 'ms.')
console.log(`Serving API on http://${fqdn}:${externalPort}/`)
})
.catch(function(err) {
console.error('Problem starting edge. Restarting in 10 seconds.');
console.error(err);
setTimeout(function(){
process.exit(1);
}, 10000);
})