Skip to content
Snippets Groups Projects

Resolve "Cater for errors being nil and update checks for retryable errors"

1 file
+ 29
3
Compare changes
  • Side-by-side
  • Inline
  • 74082d21
    #34 Add new function for IsRetryableErrorOrShouldFail · 74082d21
    Francé Wilke authored
+ 29
3
@@ -263,10 +263,36 @@ func IsRetryableError(err error) bool {
return true
}
// Explicitly check for and return false for any 400s as well
return false
}
func IsRetryableErrorOrShouldFail(err error) (shouldRetry bool, shouldFail bool) {
if err == nil {
return false, false
}
// Check for retryable
if IsRetryableError(err) {
return true, false
}
code := HTTPCode(err)
// If no HTTP code in the error, just fail but don't retry
if code == 0 {
return false, true
}
// Explicitly check for 400s, and don't retry or fail
if code >= 400 && code < 500 {
return false
return false, false
}
return false
// Explicitly check for 200s, for a fail-safe
if code >= 200 && code < 300 {
return false, false
}
// If we got here, we should fail normally
return false, true
}
Loading