From: Michal Fojtik <mfoj...@redhat.com>
Signed-off-by: Michal fojtik <mfoj...@redhat.com> --- client/lib/deltacloud.rb | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/lib/deltacloud.rb b/client/lib/deltacloud.rb index fcf6e49..55cd854 100644 --- a/client/lib/deltacloud.rb +++ b/client/lib/deltacloud.rb @@ -359,7 +359,7 @@ module DeltaCloud if conf[:method].eql?(:post) resource = RestClient::Resource.new(conf[:path], :open_timeout => conf[:open_timeout], :timeout => conf[:timeout]) resource.send(:post, conf[:form_data], default_headers.merge(extended_headers)) do |response, request, block| - handle_backend_error(response) if response.code.eql?(500) + handle_backend_error(response) if [500, 502].include? response.code if response.respond_to?('body') yield response.body if block_given? else @@ -369,7 +369,7 @@ module DeltaCloud else resource = RestClient::Resource.new(conf[:path], :open_timeout => conf[:open_timeout], :timeout => conf[:timeout]) resource.send(conf[:method], default_headers.merge(extended_headers)) do |response, request, block| - handle_backend_error(response) if response.code.eql?(500) + handle_backend_error(response) if [500, 502].include? response.code if conf[:method].eql?(:get) and [301, 302, 307].include? response.code response.follow_redirection(request) do |response, request, block| if response.respond_to?('body') @@ -393,7 +393,7 @@ module DeltaCloud # backend class BackendError < StandardError def initialize(opts={}) - @message = opts[:message] + @message = "[#{opts[:code]}] #{opts[:message]}" end def message @message @@ -401,7 +401,7 @@ module DeltaCloud end def handle_backend_error(response) - raise BackendError.new(:message => (Nokogiri::XML(response)/'error/message').text) + raise BackendError.new(:message => (Nokogiri::XML(response)/'error/message').text, :code => response.code) end # Check if specified collection have wanted feature -- 1.7.4.4