Allow specifying methods that bypass :retry_if on Request::Retry #437
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 expands the
IDEMPOTENT_METHODS
functionality to allow speifying themethods that will be retried without calling
:retry_if
. The new:methods
optionto
Request::Retry
allows:retry_if
to be called for every HTTP method, a user-specified set of HTTP methods, or never.
It's likely that
:retry_if
,IDEMPOTENT_METHODS
, and:methods
could becombined into a simpler API (such as by changing the
:retry_if
default value tocheck for an idempotent method), but this separate approach preserves the
existing behavior if
:methods
is not specified.Tests and documentation are included in the pull request; I ran the tests against
Ruby 2.1.3 and Ruby 1.8.7.