【发布时间】:2020-01-31 21:23:07
【问题描述】:
我将 NodeJS 与 Express 中间件一起使用,我唯一的问题是在全局函数中将确切的已发送状态代码捕获到响应(用于日志)。
使用以下代码:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const router = express.Router();
app.use(bodyParser.json());
router.get('/', (req, res, next) => {
// ..... SOME LOGIC
// Suppose that the variable content is coming from the DB
if (content.length === 0)
{
// Status Code : 404
res.send(404).send("The product cannot be found");
}
// Status Code : 200
res.json(content);
});
app.use((req, res, next) => {
// Problem : Always returns 200 !
console.log(res.statusCode);
next();
});
我正在尝试捕获所有请求,将状态代码记录在中间件 (app.use) 中,但我的问题是 res.statusCode 总是返回 200,即使我给自己发送了 404 。
问题:
如何在全局函数中捕获确切发送的状态码以便记录它?
谢谢。
【问题讨论】:
标签: javascript node.js express