From 0e759bee80e2668e1fec7b741a4ea18015f98b84 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Fri, 21 Jan 2011 11:52:53 +0100 Subject: simplify error handling once again, and adding http code --- lib/overwrite.rb | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) (limited to 'lib/overwrite.rb') diff --git a/lib/overwrite.rb b/lib/overwrite.rb index 2f9fabd..83d8099 100644 --- a/lib/overwrite.rb +++ b/lib/overwrite.rb @@ -18,22 +18,9 @@ error Exception do error = request.env['sinatra.error'] # log error to logfile LOGGER.error error.class.to_s+": "+error.message - case error.class - when OpenTox::BadRequestError - code = 400 - when OpenTox::NotAuthorizedError - code = 401 - when OpenTox::NotFoundError - code = 404 - when OpenTox::RestCallError - code = 502 - else - # (unwanted RuntimeExceptions as well as sth. like 'raise "invalid state"' is handled here) - code = 500 - # log backtrace for debugging - LOGGER.error error.backtrace.join("\n") - end - halt code,OpenTox::ErrorReport.format(error,request,response) + # log backtrace only if code is 500 -> unwanted (Runtime)Exceptions and internal errors (see error.rb) + LOGGER.error error.backtrace.join("\n") if error.http_code==500 + halt error.http_code,OpenTox::ErrorReport.format(error,request,response) end class String -- cgit v1.2.3