-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
84 lines (70 loc) · 2.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
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
#!/usr/bin/env nodejs
const dotenv = require('dotenv').load()
const express = require('express')
// const cors = require('cors')
// const helmet = require('helmet')
const app = express()
// const pino = require('pino')
// const fs = require('fs')
// const logger = require('./logger/index').log
// module.exports.log=pino(pino.destination(`/var/log/nodejs/messagebroker/${new Date().toLocaleDateString().replace(/\//g, '-')}-others.json`))
// const logger=pino(pino.destination(`/var/log/nodejs/databroker/${new Date().toLocaleDateString().replace(/\//g, '-')}.json`))
// module.exports.log = logger
// const mqttHandler = require('./mqtt/receiveData')
// const expressPino = require('express-pino-logger')({
// logger: logger
// })
// app.use(expressPino)
//#region MQTT FOR API
// const SecureMqttHandler = require('./mqtt/SecureMqttHandler')
const SecureMqttHandler = require('senti-apicore').secureMqttHandler
const secureMqttClient = new SecureMqttHandler(process.env.MQTT_HOST, process.env.MQTT_USER, process.env.MQTT_PASS)
secureMqttClient.connect()
module.exports.secureMqttClient = secureMqttClient
//#endregion
const port = process.env.NODE_PORT || 3003
// app.use(helmet())
/**
* For debugging bad request bodies
*
*/
// app.use(express.json({
// verify: (req, res, buf, encoding) => {
// try {
// console.log(buf.toString())
// }
// catch {
// console.log('Buffer not valid')
// }
// }
// }))
app.use(express.json())
app.use(express.text())
app.use(express.urlencoded({ extended: true }))
const prefixHandler = require('./api/prefixHandler')
const ttnApi = require('./api/ttn')
const comadanApi = require('./api/comadan')
const sigfoxApi = require('./api/sigfox')
const httpBridge = require('./api/httpBridge')
// const routeLogger = require('./api/routeLogger')
app.use('/', prefixHandler, ttnApi, comadanApi, sigfoxApi, httpBridge)
app.use(function (err, req, res, next) {
console.error(err.stack)
// console.log(req)
res.status(500).send('Something broke...')
})
//---Start the express server---------------------------------------------------
const startAPIServer = () => {
app.listen(port, () => {
console.log('Senti Message Broker started on port:', port)
// logger(`Senti Message Broker listening on port ${port}`, 'info')
}).on('error', (err) => {
if (err.errno === 'EADDRINUSE') {
console.log('Server not started, port ' + port + ' is busy')
} else {
console.log(err)
}
})
}
startAPIServer()
console.log("Node Version: ", process.version)