Samber
@Samber
Full Stack Web Developer

Почему в коллбек в request передается не полное тело ответа?

Коллбек вызывается ошибочно - в него приходят error, response и body запроса, при этом body содержит лишь часть ответа, а response.complete имеет значение false.
error имеет значение null
request({
    pool:false,
    agent:false,
    url:'http://api.example.com/',
    method:'POST',
    json:true,
    form:{user_id:user_id.join(',')}
},function(error,response,body){
    ...
});
  • Вопрос задан
  • 2348 просмотров
Решения вопроса 1
Samber
@Samber Автор вопроса
Full Stack Web Developer
Проблема была на стороне запрашиваемого сервера - он обрывал подключения раньше времени.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
maxism
@maxism
Под request подразумевается github.com/mikeal/request?
Если так, то это, видимо какой-то очень специфичный баг в силу достаточного распространения данного модуля. Вместе с тем, советую: убедитесь в том, что используете последнюю версию модуля (занудно, но полезно бывает) и так как request использует для http-запросов стандартный модуль nodejs попробуйте в олдкул-манере вытащить данные
var options = {
    pool:false,
    agent:false,
    url:'http://api.example.com/',
    method:'POST',
    json:true,
    form:{user_id:user_id.join(',')}
};

var req = request(options);

var data = '';

req.on('data', function (chunk) {
	data += chunk.toString('utf8');
});

req.on('end', function () {
	console.log(data);
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы