mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-04 00:18:01 +01:00
chore(modernize): Modernize HealthCheckController
This commit is contained in:
parent
0d68c4b366
commit
7bc8ed0334
@ -1,24 +1,31 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const logger = require('../logger')('health-check.js');
|
|
||||||
const { Router } = require('express');
|
const { Router } = require('express');
|
||||||
|
const logger = require('../logger')('health-check.js');
|
||||||
|
|
||||||
exports.router = function(config) {
|
class HealthCheckController {
|
||||||
const router = Router();
|
constructor(config) {
|
||||||
|
const app = Router();
|
||||||
|
|
||||||
router.get('/', (req, res) => {
|
this.app = app;
|
||||||
config.stores.db
|
this.db = config.stores.db;
|
||||||
.select(1)
|
|
||||||
.from('features')
|
app.get('/', (req, res) => this.index(req, res));
|
||||||
.then(() => res.json({ health: 'GOOD' }))
|
}
|
||||||
.catch(err => {
|
|
||||||
logger.error(
|
async index(req, res) {
|
||||||
'Could not select from features, error was: ',
|
try {
|
||||||
err
|
await this.db.select(1).from('features');
|
||||||
);
|
res.json({ health: 'GOOD' });
|
||||||
|
} catch (e) {
|
||||||
|
logger.error('Could not select from features, error was: ', e);
|
||||||
res.status(500).json({ health: 'BAD' });
|
res.status(500).json({ health: 'BAD' });
|
||||||
});
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
return router;
|
router() {
|
||||||
};
|
return this.app;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = HealthCheckController;
|
||||||
|
@ -10,13 +10,13 @@ const adminApi = require('./admin-api');
|
|||||||
const clientApi = require('./client-api');
|
const clientApi = require('./client-api');
|
||||||
const clientFeatures = require('./client-api/feature.js');
|
const clientFeatures = require('./client-api/feature.js');
|
||||||
|
|
||||||
const health = require('./health-check');
|
const HealthCheckController = require('./health-check');
|
||||||
const backstage = require('./backstage.js');
|
const backstage = require('./backstage.js');
|
||||||
|
|
||||||
exports.router = function(config) {
|
exports.router = function(config) {
|
||||||
const router = Router();
|
const router = Router();
|
||||||
|
|
||||||
router.use('/health', health.router(config));
|
router.use('/health', new HealthCheckController(config).router());
|
||||||
router.use('/internal-backstage', backstage.router(config));
|
router.use('/internal-backstage', backstage.router(config));
|
||||||
|
|
||||||
router.get('/api', (req, res) => {
|
router.get('/api', (req, res) => {
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
const { EventEmitter } = require('events');
|
const { EventEmitter } = require('events');
|
||||||
|
|
||||||
|
const logFactory = require('./logger');
|
||||||
const logger = require('./logger')('server-impl.js');
|
const logger = require('./logger')('server-impl.js');
|
||||||
const migrator = require('../migrator');
|
const migrator = require('../migrator');
|
||||||
const getApp = require('./app');
|
const getApp = require('./app');
|
||||||
@ -21,8 +22,9 @@ function createApp(options) {
|
|||||||
{
|
{
|
||||||
stores,
|
stores,
|
||||||
eventBus,
|
eventBus,
|
||||||
|
logFactory,
|
||||||
},
|
},
|
||||||
options
|
options,
|
||||||
);
|
);
|
||||||
|
|
||||||
const app = getApp(config);
|
const app = getApp(config);
|
||||||
@ -34,7 +36,7 @@ function createApp(options) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const server = app.listen({ port: options.port, host: options.host }, () =>
|
const server = app.listen({ port: options.port, host: options.host }, () =>
|
||||||
logger.info(`Unleash started on port ${server.address().port}`)
|
logger.info(`Unleash started on port ${server.address().port}`),
|
||||||
);
|
);
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user