Sha256: d029139d5cb2426a1deecaad82fe429b495d5450bfdd4e991689484e77683b53
Contents?: true
Size: 971 Bytes
Versions: 1
Compression:
Stored size: 971 Bytes
Contents
require "http/exceptions/version" require "http/exceptions/http_exception" module Http module Exceptions EXCEPTIONS = [ SocketError, Errno::ETIMEDOUT, (Net.const_defined?(:ReadTimeout) ? Net::ReadTimeout : EOFError), (Net.const_defined?(:OpenTimeout) ? Net::OpenTimeout : EOFError), Net::ProtocolError, Errno::ECONNREFUSED, Errno::EHOSTDOWN, Errno::ECONNRESET, Errno::ENETUNREACH, Errno::EHOSTUNREACH, Errno::ECONNABORTED, OpenSSL::SSL::SSLError, EOFError, ].freeze def self.wrap_exception begin yield rescue *Exceptions::EXCEPTIONS => e raise HttpException.new original_exception: e end end def self.check_response!(res) raise HttpException.new(response: res) unless (200...300).include?(res.code) res end def self.wrap_and_check wrap_exception do check_response! yield end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tanga-http-exceptions-0.0.4 | lib/http/exceptions.rb |