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