feat: add no throw status codes option in retry agent #4082
+253
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This relates to...
#4080
Rationale
This PR adds the
noThrowStatusCodes
option to the RetryHandler, allowing you to configure an array of HTTP status codes that should not trigger aRequestRetryError
on the last attempt.Expected Behavior
noThrowStatusCodes
, the error will not be thrown (only on the last attempt), allowing the response to be processed normally.statusCodes
.Notes on the
retryFn
callbackThe last attempt considered is determined by the value of maxRetries. However, if you are using a
retryFn
to manage your own retries, there is an important detail:noThrowStatusCodes
prevents the error from being thrown on the last attempt (if the conditions are met), theretryFn
will not be executed in this situation.noThrowStatusCodes
is not used, the behavior of theretryFn
remains unchanged.Changes
noThrowStatusCodes
option toRetryHandlerOptions
.noThrowStatusCodes
option to theretryOpts
of theRetryHandler
.noThrowStatusCodes
.noThrowStatusCodes
.Features
Bug Fixes
Breaking Changes and Deprecations
Status