Meteor HTTP.call返回不完整/截断的响应

时间:2017-02-19 07:30:43

标签: javascript node.js meteor

在服务器上使用HTTP.call(),即使响应标头包含一致的content-length,我也会获得不同的响应长度(针对同一端点)。换句话说,响应被随机截断。

import { HTTP } from 'meteor/http';

Meteor.methods({
    'getJSON': function(url) {
        return HTTP.call('GET', url);
    }
});

1 个答案:

答案 0 :(得分:0)

解决方案是在forever: true选项中将npmRequestOptions添加到HTTP.call。显然,HTTP模块默认不会处理保持连接的连接,这可能会导致响应更大/更慢的问题。

import { HTTP } from 'meteor/http';

Meteor.methods({
    'getJSON': function(url) {
        let options = {
            npmRequestOptions: {
                forever: true,
            }
        };

        return HTTP.call('GET', url, options);
    }
});