lib/rbbt/rest/client/run.rb in rbbt-util-5.26.67 vs lib/rbbt/rest/client/run.rb in rbbt-util-5.26.68
- old
+ new
@@ -56,10 +56,25 @@
rok.read_body do |c,_a, _b|
sin.write c
end
sin.close
else
- parent.raise "Error in RestClient: " << rok.message
+ err = StringIO.new
+ rok.read_body do |c,_a, _b|
+ err.write c
+ end
+ err.rewind
+ reader = Zlib::GzipReader.new(err)
+ text = reader.read
+ ne = WorkflowRESTClient.parse_exception text
+ case ne
+ when String
+ parent.raise e.class, ne
+ when Exception
+ parent.raise ne
+ else
+ parent.raise "Error in RestClient: " << rok.message
+ end
end
end
Log.debug{ "RestClient execute: #{ url } - #{Misc.fingerprint task_params}" }
RestClient::Request.execute(:method => :post, :url => task_url, :payload => task_params, :block_response => bl)