lib/grape/error_formatter/json.rb in grape-1.0.0 vs lib/grape/error_formatter/json.rb in grape-1.0.1

- old
+ new

@@ -2,14 +2,18 @@ module ErrorFormatter module Json extend Base class << self - def call(message, backtrace, options = {}, env = nil) + def call(message, backtrace, options = {}, env = nil, original_exception = nil) result = wrap_message(present(message, env)) - if (options[:rescue_options] || {})[:backtrace] && backtrace && !backtrace.empty? + rescue_options = options[:rescue_options] || {} + if rescue_options[:backtrace] && backtrace && !backtrace.empty? result = result.merge(backtrace: backtrace) + end + if rescue_options[:original_exception] && original_exception + result = result.merge(original_exception: original_exception.inspect) end ::Grape::Json.dump(result) end private