diff options
Diffstat (limited to 'lib/opentox.rb')
-rw-r--r-- | lib/opentox.rb | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/opentox.rb b/lib/opentox.rb index 73798ef..16646c1 100644 --- a/lib/opentox.rb +++ b/lib/opentox.rb @@ -1,18 +1,19 @@ require 'sinatra/base' -# Error handling -# Errors are logged as error and formated according to acccept-header -# Non OpenTox::Errors (defined in error.rb) are handled as internal error (500), stacktrace is logged -# IMPT: set sinatra settings :show_exceptions + :raise_errors to false in config.ru, otherwise Rack::Showexceptions takes over module OpenTox + # Base class for OpenTox services + # Errors are formated according to acccept-header + # Non OpenTox::Errors (defined in error.rb) are handled as internal error (500), stacktrace is logged class Service < Sinatra::Base + helpers Sinatra::UrlForHelper + # use OpenTox error handling set :raise_errors, false set :show_exceptions, false + error do - #TODO: add actor to error report - #actor = "#{request.env['rack.url_scheme']}://#{request.env['HTTP_HOST']}#{request.env['REQUEST_URI']}" error = request.env['sinatra.error'] + error.report.actor = "#{request.env['rack.url_scheme']}://#{request.env['HTTP_HOST']}#{request.env['REQUEST_URI']}" case request.env['HTTP_ACCEPT'] when 'application/rdf+xml' content_type 'application/rdf+xml' @@ -21,7 +22,7 @@ module OpenTox when "text/n3" content_type "text/n3" else - content_type "text/n3" + content_type "text/turtle" end if error.respond_to? :report code = error.report.http_code @@ -33,7 +34,7 @@ module OpenTox when "text/n3" body = error.report.to_ntriples else - body = error.report.to_ntriples + body = error.report.to_turtle end else content_type "text/plain" |