juice-shop

Форк
0
/
exposedMetricsChallenge_1.ts 
39 строк · 1.3 Кб
1
/* Serve metrics */
2
let metricsUpdateLoop: any
3
const Metrics = metrics.observeMetrics()
4
app.get('/metrics', security.denyAll(), metrics.serveMetrics())
5
errorhandler.title = `${config.get<string>('application.name')} (Express ${utils.version('express')})`
6

7
export async function start (readyCallback: any) {
8
  const datacreatorEnd = startupGauge.startTimer({ task: 'datacreator' })
9
  await sequelize.sync({ force: true })
10
  await datacreator()
11
  datacreatorEnd()
12
  const port = process.env.PORT ?? config.get('server.port')
13
  process.env.BASE_PATH = process.env.BASE_PATH ?? config.get('server.basePath')
14

15
  metricsUpdateLoop = Metrics.updateLoop()
16

17
  server.listen(port, () => {
18
    logger.info(colors.cyan(`Server listening on port ${colors.bold(`${port}`)}`))
19
    startupGauge.set({ task: 'ready' }, (Date.now() - startTime) / 1000)
20
    if (process.env.BASE_PATH !== '') {
21
      logger.info(colors.cyan(`Server using proxy base path ${colors.bold(`${process.env.BASE_PATH}`)} for redirects`))
22
    }
23
    registerWebsocketEvents(server)
24
    if (readyCallback) {
25
      readyCallback()
26
    }
27
  })
28

29
}
30

31
export function close (exitCode: number | undefined) {
32
  if (server) {
33
    clearInterval(metricsUpdateLoop)
34
    server.close()
35
  }
36
  if (exitCode !== undefined) {
37
    process.exit(exitCode)
38
  }
39
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.