Handle request timeout. Catch errors while parsing JSON

experimental
Yago 10 years ago
parent 83b5654a16
commit b1d4e6b416
  1. 12
      src/telegramPolling.js

@ -65,11 +65,19 @@ TelegramBotPolling.prototype._getUpdates = function () {
})
};
debug('polling with options: %j', opts);
return requestPromise(opts).cancellable().then(function (resp) {
return requestPromise(opts)
.cancellable()
.timeout((10 + this.timeout) * 1000)
.then(function (resp) {
if (resp[0].statusCode !== 200) {
throw new Error(resp[0].statusCode+' '+resp[0].body);
}
var data = JSON.parse(resp[0].body);
var data;
try {
data = JSON.parse(resp[0].body);
} catch (err) {
throw new Error('Error parsing Telegram response: %s', resp[0].body);
}
if (data.ok) {
return data.result;
} else {

Loading…
Cancel
Save