How to use the @banzaicloud/service-tools.middleware.express function in @banzaicloud/service-tools

To help you get started, we’ve selected a few @banzaicloud/service-tools examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github banzaicloud / service-tools / examples / express / index.js View on Github external
middleware.express.healthCheck([
    async () => {
      // fake check
      return new Promise((resolve, reject) => {
        if (Math.random() < 0.2) {
          return reject(new Error('check failed'))
        }

        resolve()
      })
    },
  ])
)

// register error middleware
app.use(middleware.express.errorHandler())

// use `stoppable` to stop accepting new connections and closes existing,
// idle connections(including keep - alives) without killing requests that are in-flight
// on .stop() call
const server = stoppable(http.createServer(app))
// start server
server.listen(cfg.server.port)

server.once('listening', () => {
  const { port } = server.address()
  console.log(`server is listening on port ${port}`)
})

server.once('error', (err) => {
  console.error('server error', err)
  process.exit(1)
github banzaicloud / service-tools / examples / express / index.js View on Github external
catchErrors([closeResources])

// intercept console calls and use built in (pino) logger instead
logger.interceptConsole()

const { nodeEnv } = config.environment
console.log('starting application', { nodeEnv })

// create an express application
const app = express()

// create routes
app.get('/', (req, res) => {
  res.status(200).end()
})
app.get('/metrics', middleware.express.prometheusMetrics())
app.get(
  '/health',
  middleware.express.healthCheck([
    async () => {
      // fake check
      return new Promise((resolve, reject) => {
        if (Math.random() < 0.2) {
          return reject(new Error('check failed'))
        }

        resolve()
      })
    },
  ])
)

@banzaicloud/service-tools

Node.js service tools for common use cases

Apache-2.0
Latest version published 3 years ago

Package Health Score

47 / 100
Full package analysis