Repository URL to install this package:
|
Version:
0.0.1 ▾
|
const express = require('express');
const LoggerMiddleware = require('@doodle/logger/middleware');
const ProbesMiddleware = require('./middlewares/probes');
const MetricsMiddleware = require('./middlewares/metrics');
/**
*
* @param {*} param0
*/
const createServer = (logger, { port, probes = {}, metrics = {} } = {}) => {
const app = express();
LoggerMiddleware.initialize(app, logger);
ProbesMiddleware.initialize(app, {
...probes,
middleware: MetricsMiddleware.ignoreMetrics,
});
MetricsMiddleware.initialize(app, metrics);
app.start = async () =>
new Promise((resolve, reject) => {
app.use(LoggerMiddleware.expressLogger);
app.use(LoggerMiddleware.expressErrorLogger);
app.listen(port || 3000, resolve).on('error', reject);
});
return app;
};
module.exports = createServer;