feat: Support for retries on 2xx by allowing to provide custom onFulfilled interceptor #156
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.
Context
As per discussed in #25 there's a need to be able configure retries on 2xx, and the library does not support that since all the retry logic is inside the onError handler
PR Idea
One way to implement this without changing too much the scope/goal of the library is allowing to provide an optional custom
onFulfilled
interceptor. The custom interceptor should throw axios.Cancel so thatonError
handler from this library is invoked. This way consumers can specify their own conditions to retry on 2xx. And if not specified, it would just use the defaultonFulfilled
handler.Inspired on -> https://stackoverflow.com/a/55879318
Usage example
@JustinBeckwith Would appreciate if you could have a look and evaluate this add to the library, since there's a lot of people out there needing axios retries on 2xx.