diff options
Diffstat (limited to 'node_modules/superagent/lib/should-retry.js')
| -rw-r--r-- | node_modules/superagent/lib/should-retry.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/node_modules/superagent/lib/should-retry.js b/node_modules/superagent/lib/should-retry.js new file mode 100644 index 0000000..ce0af38 --- /dev/null +++ b/node_modules/superagent/lib/should-retry.js @@ -0,0 +1,23 @@ +var ERROR_CODES = [ + 'ECONNRESET', + 'ETIMEDOUT', + 'EADDRINFO', + 'ESOCKETTIMEDOUT' +]; + +/** + * Determine if a request should be retried. + * (Borrowed from segmentio/superagent-retry) + * + * @param {Error} err + * @param {Response} [res] + * @returns {Boolean} + */ +module.exports = function shouldRetry(err, res) { + if (err && err.code && ~ERROR_CODES.indexOf(err.code)) return true; + if (res && res.status && res.status >= 500) return true; + // Superagent timeout + if (err && 'timeout' in err && err.code == 'ECONNABORTED') return true; + if (err && 'crossDomain' in err) return true; + return false; +}; |
