From 0aebd35d9ff334e405f39ddcf2919388afd53bc1 Mon Sep 17 00:00:00 2001 From: Fabio Kreusch Date: Sat, 24 Mar 2018 06:37:11 -0300 Subject: [PATCH] Returns the http response when giving up on retrying by status (#783) --- lib/faraday/request/retry.rb | 6 +++++- test/middleware/retry_test.rb | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/faraday/request/retry.rb b/lib/faraday/request/retry.rb index 1fbabd9f6..0d132f188 100644 --- a/lib/faraday/request/retry.rb +++ b/lib/faraday/request/retry.rb @@ -140,7 +140,11 @@ def call(env) end end - raise unless exception.is_a?(Faraday::Error::RetriableResponse) + if exception.is_a?(Faraday::Error::RetriableResponse) + exception.response + else + raise + end end end diff --git a/test/middleware/retry_test.rb b/test/middleware/retry_test.rb index 07b1dd445..2d7b86e0e 100644 --- a/test/middleware/retry_test.rb +++ b/test/middleware/retry_test.rb @@ -232,9 +232,10 @@ def test_should_rewind_files_on_retry def test_should_retry_retriable_response params = { status: 429 } - conn(:max => 1, :retry_statuses => 429).get("/throttled", params) + response = conn(:max => 1, :retry_statuses => 429).get("/throttled", params) assert_equal 2, @times_called + assert_equal 429, response.status end def test_should_not_retry_non_retriable_response