Help functionality for node docker packages
npm install booking-docker
Bundles an express server and a logger that writes to process.sterr or stdout in json format.
##server
To start an express server impofrt itconst server = require('booking-docker').server.create();
add your endpoints
``javascript`
server.route('/ping').get((req, res) => {
res.send('pong');
})
Then start it
`javascript`
const app = server.listen(config.server.port, () => {
logger.info({
message: 'application started',
server: config.server
});
}); /health
The server comes with default endpoints for
* : that responds with service name, status and uptime/documentation
* : listsall routes configured in the server/metrics
* : prometheus metricsENABLE_METRICS
## metrics
If the environment variable is set to true the server will track number of requests and total response time in order to set up basic tracking const logger = require('booking-docker').logger;
## Logger info
The logger logs and warning to stdout and error to stderr
Health cors an metrics usage can be controlled via a settings object from v 2.0.0
`yaml`
const serverConfig = {
health: {
overrrideDefault: false
},
cors : {
enabled: true,
corsOptions: {
origin: config.server.corsOrigins,
methods: "GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS",
optionsSuccessStatus: 200
}
},
metrics: {
enableDefault: true
}
}
If no config is sent the server will revert to defaults via env variables as described above.
All options except health are set to false` by default.