请求快递js中同一服务器上的端点

时间:2014-06-02 03:52:44

标签: node.js express

在快速js服务器上处理请求时,我想在同一服务器上调用端点以填充部分响应。有没有办法在同一台服务器上调用端点?

类似的东西:

app.handle("/abc", {
    headers: {
    },
    params: {
    },
    type: "GET"
}, function (err, resp) {});

1 个答案:

答案 0 :(得分:1)

您可以使用supertest库(在应用程序中使用它,而不是在测试中):

var handleRequest = require('supertest');

var request = handleRequest(app)[params.method](params.path)
.set('Accept', 'application/json')
.set(params.headers);

if (body) request.send(params.body);

request.end(function (err, resp) {
  console.log(resp.body);
});

其中params是一个带有您要处理的请求参数的对象,params.method应该是小写的HTTP谓词。

或者,您可以对请求和响应对象使用模拟并调用:

app.handle(reqMock, resMock, cb)