我无法获取需要与请求正文一起存储在日志中的响应正文。我唯一可以获得响应正文的时间是请求失败时。
我关注的博客帖子解决了我在使用body-parser插件-https://www.express-gateway.io/exploit-request-stream/时获取请求正文的问题。
const { PassThrough } = require("stream");
const jsonParser = require("express").json();
const urlEncodedParser = require("express").urlencoded({ extended: true });
module.exports = {
name: 'body-parser',
policy: actionParams => {
return (req, res, next) => {
req.egContext.requestStream = new PassThrough()
req.pipe(req.egContext.requestStream)
return jsonParser(req, res, () => urlEncodedParser(req, res, next))
}
}
};
当请求生效时:
{ res: { statusCode: 400 },
req:
{ body: { a: 'b' },
headers:
{ ... } },
responseTime: 310 }
当它不起作用时:
{ res: { body: 'Bad gateway.', statusCode: 502 },
req:
{ body: { a: 'b' },
headers:
{ ... } },
responseTime: 1019 }
答案 0 :(得分:0)