38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
require('dotenv').config()
|
|
const express = require('express')
|
|
const cors = require('cors')
|
|
const { readFile } = require('./utils/file')
|
|
|
|
const app = express()
|
|
const bridgeRouter = express.Router({ mergeParams: true })
|
|
|
|
app.use(cors())
|
|
|
|
app.get('/favicon.ico', (req, res) => res.sendStatus(204))
|
|
app.use('/:bridgeName', bridgeRouter)
|
|
|
|
bridgeRouter.get('/:file(validators|eventsStats|alerts|mediators|stuckTransfers|failures)?', (req, res, next) => {
|
|
try {
|
|
const { bridgeName, file } = req.params
|
|
const results = readFile(`./responses/${bridgeName}/${file || 'getBalances'}.json`)
|
|
res.json(results)
|
|
} catch (e) {
|
|
// this will eventually be handled by your error handling middleware
|
|
next(e)
|
|
}
|
|
})
|
|
|
|
bridgeRouter.get('/metrics', (req, res, next) => {
|
|
try {
|
|
const { bridgeName } = req.params
|
|
const metrics = readFile(`./responses/${bridgeName}/metrics.txt`, false)
|
|
res.type('text').send(metrics)
|
|
} catch (e) {
|
|
next(e)
|
|
}
|
|
})
|
|
|
|
const port = process.env.MONITOR_PORT || 3003
|
|
app.set('port', port)
|
|
app.listen(port, () => console.log(`Monitoring app listening on port ${port}!`))
|