如何处理所有路线快递

时间:2018-04-24 15:32:28

标签: javascript node.js express

有一个nodejs(express)应用程序。 它几乎没有路由器处理程序。 在获得SIGTERM后,我希望应用程序以500状态响应所有路由。 我怎样才能做到这一点? 我试过了:

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

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

但这肯定不会覆盖更具体的处理程序。 此外,我不应该关闭该应用程序。

1 个答案:

答案 0 :(得分:1)

一旦捕获到SIGTERM,您可以使用设置为“true”的会话变量(如果您愿意,可以使用:))。然后定义一个中间件,测试此会话变量是否为false然后next()else res.sendStatus(500)。