summaryrefslogtreecommitdiff
path: root/lib/error.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2012-03-07 17:13:48 +0000
committerChristoph Helma <helma@in-silico.ch>2012-03-07 17:13:48 +0000
commit2f6d5c75fc1fece5fc10cc7c45ad59cf6b820d64 (patch)
treef3fdad09917e6ba537d049215221545709d721fd /lib/error.rb
parent8fc11578aadcf1e7d152764c926e12e553bd8d65 (diff)
error and dataset tests added, wait_for_task moved to URI.to_object
Diffstat (limited to 'lib/error.rb')
-rw-r--r--lib/error.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/error.rb b/lib/error.rb
index b65651f..2033c1e 100644
--- a/lib/error.rb
+++ b/lib/error.rb
@@ -5,7 +5,9 @@ class RuntimeError
attr_accessor :report, :http_code
def initialize message
super message
+ self.set_backtrace message.backtrace if message.is_a? Exception
@http_code ||= 500
+ puts self.class
@report = OpenTox::ErrorReport.create self
$logger.error "\n"+@report.to_turtle
end
@@ -77,9 +79,10 @@ module OpenTox
errorDetails += "REST paramenters:\n#{error.request.args.inspect}"
end
error.respond_to?(:http_code) ? statusCode = error.http_code : statusCode = 500
+ puts error.inspect
if error.respond_to? :response
- statusCode = error.response.code
- message = error.body
+ statusCode = error.response.code if error.response
+ message = error.response.body
end
statusCode = error.http_code if error.respond_to? :http_code
report.rdf << [subject, RDF::OT.statusCode, statusCode ]
@@ -87,7 +90,6 @@ module OpenTox
# TODO: remove kludge for old task services
report.http_code = statusCode
report.rdf << [subject, RDF::OT.message , message ]
-
errorDetails += "\nBacktrace:\n" + error.backtrace.short_backtrace if error.respond_to?(:backtrace) and error.backtrace
report.rdf << [subject, RDF::OT.errorDetails, errorDetails ]
# TODO Error cause
@@ -139,7 +141,7 @@ module Kernel
raise stderr.strip if !status.success?
return stdout
rescue Exception
- internal_server_error "'#{cmd}' failed with: '#{$!.message}'"
+ internal_server_error $!
end
alias_method :system!, :system