diff --git a/lib/index.js b/lib/index.js index d9999ae..c8e6272 100644 --- a/lib/index.js +++ b/lib/index.js @@ -74,7 +74,13 @@ class Backend { this.options.request(this.options, url, payload, (err, res) => { if (res && ((res.status >= 500 && res.status < 600) || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true /* retry */) if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false /* no retry */) - if (!res && err && err.message && (err.message.toLowerCase().indexOf('failed') > -1 && (err.message.indexOf('fetch') > -1 || err.message.toLowerCase().indexOf('network') > -1))) return callback('failed loading ' + url + ': ' + err.message, true /* retry */) + if (!res && err && err.message) { + const errorMessage = err.message.toLowerCase() + const isNetworkError = errorMessage.includes('failed') || errorMessage.includes('fetch') || errorMessage.includes('network') || errorMessage.includes('load') + if (isNetworkError) { + return callback('failed loading ' + url + ': ' + err.message, true /* retry */) + } + } if (err) return callback(err, false) let ret, parseErr