Как обрабатывать все маршруты экспресс - PullRequest
0 голосов
/ 24 апреля 2018

Существует приложение nodejs (экспресс). У него мало обработчиков маршрутизатора. Я хочу, чтобы приложение после получения SIGTERM отвечало статусом 500 на все маршруты. Как я могу этого достичь? Я попробовал:

process.on('SIGTERM', () => {
    console.log('SIGTERM CATCHED');

    app.use((req, res) => {
        console.log('RESPONDING PROPERLY')
        res.sendStatus(500);
    })
});

Но это определенно не отменяет более специфические обработчики. Кроме того, я не должен закрывать приложение.

1 Ответ

0 голосов
/ 24 апреля 2018

Вы можете использовать переменную сеанса, которую вы установили в 'true', как только SIGTERM пойман (перехвачен, если хотите :)). Затем вы определяете промежуточное программное обеспечение, которое проверяет, является ли эта переменная сеанса ложной, затем next (), иначе res.sendStatus (500).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...