diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/net/hippie.rb | 8 | ||||
| -rw-r--r-- | lib/net/hippie/client.rb | 3 |
2 files changed, 2 insertions, 9 deletions
diff --git a/lib/net/hippie.rb b/lib/net/hippie.rb index 6c39a50..71e786d 100644 --- a/lib/net/hippie.rb +++ b/lib/net/hippie.rb @@ -14,14 +14,6 @@ require 'net/hippie/api' module Net # net/http for hippies. module Hippie - CONNECTION_ERRORS = [ - EOFError, - Errno::ECONNRESET, - Errno::EINVAL, - Net::ProtocolError, - Timeout::Error - ].freeze - def self.logger @logger ||= Logger.new(STDOUT) end diff --git a/lib/net/hippie/client.rb b/lib/net/hippie/client.rb index db31faa..e28633d 100644 --- a/lib/net/hippie/client.rb +++ b/lib/net/hippie/client.rb @@ -74,7 +74,8 @@ module Net retries = 0 if retries.nil? || retries.negative? 0.upto(retries) do |n| return yield self - rescue *::Net::Hippie::CONNECTION_ERRORS => error + rescue EOFError, Errno::ECONNRESET, Errno::EINVAL, + Net::ProtocolError, Timeout::Error => error raise error if n == retries delay = ((2**n) * 0.1) + Random.rand(0.05) # delay + jitter |
