X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Ffaraday%2Ferror.rb;fp=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Ffaraday%2Ferror.rb;h=17712309de7f3e64c647363bae92e5f68232ba6c;hb=b7626cbcbb2fb8e7ce3dc5ac60e80a981175f9d3;hp=0000000000000000000000000000000000000000;hpb=8132e6bb1199463f5e334326659c974d4772b3e3;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/aviator/lib/puppet/feature/faraday/error.rb b/3rdparty/modules/aviator/lib/puppet/feature/faraday/error.rb new file mode 100644 index 000000000..17712309d --- /dev/null +++ b/3rdparty/modules/aviator/lib/puppet/feature/faraday/error.rb @@ -0,0 +1,53 @@ +module Faraday + class Error < StandardError; end + class MissingDependency < Error; end + + class ClientError < Error + attr_reader :response + + def initialize(ex, response = nil) + @wrapped_exception = nil + @response = response + + if ex.respond_to?(:backtrace) + super(ex.message) + @wrapped_exception = ex + elsif ex.respond_to?(:each_key) + super("the server responded with status #{ex[:status]}") + @response = ex + else + super(ex.to_s) + end + end + + def backtrace + if @wrapped_exception + @wrapped_exception.backtrace + else + super + end + end + + def inspect + %(#<#{self.class}>) + end + end + + class ConnectionFailed < ClientError; end + class ResourceNotFound < ClientError; end + class ParsingError < ClientError; end + + class TimeoutError < ClientError + def initialize(ex = nil) + super(ex || "timeout") + end + end + + class SSLError < ClientError + end + + [:MissingDependency, :ClientError, :ConnectionFailed, :ResourceNotFound, + :ParsingError, :TimeoutError, :SSLError].each do |const| + Error.const_set(const, Faraday.const_get(const)) + end +end