Class: NetHttpTimeoutErrors

Inherits:
Object
  • Object
show all
Defined in:
lib/net_http_timeout_errors.rb,
lib/net_http_timeout_errors/version.rb

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.allObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/net_http_timeout_errors.rb', line 13

def self.all
  # Based on the errors listed in https://ruby-doc.org/stdlib-2.7.1/libdoc/net/http/rdoc/Net/HTTP.html#method-i-max_retries-3D.
  [
    Net::ReadTimeout,
    EOFError,
    Errno::ECONNRESET,
    Errno::ECONNABORTED,
    Errno::ECONNREFUSED,
    Errno::EHOSTUNREACH,
    Errno::EINVAL,
    Errno::ENETUNREACH,
    Errno::EPIPE,
    Errno::ETIMEDOUT,
    Net::HTTPBadResponse,
    Net::HTTPHeaderSyntaxError,
    Net::ProtocolError,
    SocketError,
    Timeout::Error,  # Also covers subclasses like Net::OpenTimeout.
    OpenSSL::SSL::SSLError,
  ]
end

.conflateObject



35
36
37
38
39
# File 'lib/net_http_timeout_errors.rb', line 35

def self.conflate
  yield
rescue *all => e
  raise NetHttpTimeoutError.new(e)
end