From 370080022c880ae8d09b5391aceb49487a2d7398 Mon Sep 17 00:00:00 2001 From: MichaelDaum Date: Tue, 14 Nov 2017 13:47:05 +0100 Subject: [PATCH] cherry-picked fix for issue #303 --- lib/slack.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/slack.js b/lib/slack.js index 5de4306e..b83de7a1 100644 --- a/lib/slack.js +++ b/lib/slack.js @@ -59,13 +59,17 @@ export default class SlackData extends EventEmitter { return channel ? channel.id: null } - retry (){ - let interval = this.interval * 2 - setTimeout(this.fetch.bind(this), interval) - this.emit('retry') + retry(delay = this.interval * 2) { + setTimeout(this.fetch.bind(this), delay); + this.emit('retry'); } onres (err, res){ + // Too Many Requests + if (res.status === 429) { + return this.retry(res.headers['retry-after'] * 1000); + } + if (err) { this.emit('error', err) return this.retry()