gpt4 book ai didi

Node.js + Express - 如何记录请求体和响应体

转载 作者:搜寻专家 更新时间:2023-10-31 23:30:21 28 4
gpt4 key购买 nike

我有一个使用 Node.js 和 express 构建的小型 api。我正在尝试创建一个记录器,我需要记录请求正文和响应正文。

app.use((req, res) => {

console.log(req);

res.on("finish", () => {

console.log(res);

});

});

"express": "^4.16.3",

但是,我无法在 req 或 res 对象中找到正文。请告诉我如何得到它们。谢谢。

最佳答案

对于 res.body 尝试以下代码段:

const endMiddleware = (req, res, next) => {
const defaultWrite = res.write;
const defaultEnd = res.end;
const chunks = [];

res.write = (...restArgs) => {
chunks.push(new Buffer(restArgs[0]));
defaultWrite.apply(res, restArgs);
};

res.end = (...restArgs) => {
if (restArgs[0]) {
chunks.push(new Buffer(restArgs[0]));
}
const body = Buffer.concat(chunks).toString('utf8');

console.log(body);

defaultEnd.apply(res, restArgs);
};

next();
};

app.use(endMiddleware)

// test
// HTTP GET /
res.status(200).send({ isAlive: true });

关于Node.js + Express - 如何记录请求体和响应体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52310461/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com