gpt4 book ai didi

node.js - 使用请求负载模拟 HTTP 请求和响应

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:26 25 4
gpt4 key购买 nike

我正在使用以下代码通过 node-mocks-http 模拟 HTTP 请求和响应对象;

   var request  = httpMocks.createRequest({
method: 'POST',
url: '/test',
body : "some body",
});
var response = httpMocks.createResponse({
eventEmitter: require('events').EventEmitter,
req : request
});

response.on('end', function() {
console.log(response._getData())
expect(response._getData()).toEqual("kill me");
expect(response.statusCode ).toEqual(200);
expect(response._isEndCalled()).toBe(true);
done();
});

handleReqRes(request,response);

但它不会触发任何请求事件。

function handleReqRes(req,res){
req.on("data", chunk => {
console.log(chunk);
});
req.on("end", () => {
console.log("end");
});
res.end("kill me");
}

所以对于上面的调用,它只记录“kill me”。如果它与我可以切换到的其他模拟库一起使用就很好。

最佳答案

我找到了解决方案。我实际上需要在最后自己发出事件

request.emit('data', Buffer.from(data));
request.emit('end');

我将更新原始插件以提供执行此操作的方法。

关于node.js - 使用请求负载模拟 HTTP 请求和响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49491091/

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