app/controllers/scrivito/webservice_controller.rb in scrivito_sdk-0.18.1 vs app/controllers/scrivito/webservice_controller.rb in scrivito_sdk-0.30.0.rc1

- old
+ new

@@ -1,10 +1,11 @@ module Scrivito class WebserviceController < ActionController::Base rescue_from ClientError do |exception| - render json: {error: exception.message}, status: exception.http_code + @exception = exception + render 'scrivito/webservice/error', formats: :json, status: exception.http_code end before_filter :merge_correctly_parsed_json_params before_filter :authorize @@ -34,10 +35,13 @@ if request.format.json? body = request.body.read request.body.rewind params.merge!(ActiveSupport::JSON.decode(body)) if body.present? end + rescue JSON::ParserError => e + # Rails TestRequest mixes up arguments, therefore ignore elements here + raise e unless Rails.env.test? end def can_user_access_workspace?(verb, workspace) scrivito_user.can?(verb, workspace) end @@ -49,10 +53,10 @@ def render_forbidden render text: 'Forbidden', status: 403 end def render_empty_json - render json: {} + render 'scrivito/webservice/empty', formats: :json end end end