From 884fd4792d33032ffa88e08d17a9cf14b733c078 Mon Sep 17 00:00:00 2001 From: Leon Breedt Date: Sat, 7 May 2005 23:49:45 +0000 Subject: support using invocation filters in :direct controllers as well, for consistency. action pack filters don't necessarily include enough information about the request since they occur before AWS actually sees the request and unpacks it. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1294 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../lib/action_web_service/dispatcher/abstract.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'actionwebservice/lib/action_web_service/dispatcher/abstract.rb') diff --git a/actionwebservice/lib/action_web_service/dispatcher/abstract.rb b/actionwebservice/lib/action_web_service/dispatcher/abstract.rb index e60f30a05b..9f2f474ffb 100644 --- a/actionwebservice/lib/action_web_service/dispatcher/abstract.rb +++ b/actionwebservice/lib/action_web_service/dispatcher/abstract.rb @@ -28,16 +28,20 @@ module ActionWebService # :nodoc: @method_params = invocation.method_ordered_params arity = method(invocation.api_method.name).arity rescue 0 if arity < 0 || arity > 0 - return_value = self.__send__(invocation.api_method.name, *@method_params) + params = @method_params else - return_value = self.__send__(invocation.api_method.name) + params = [] end - web_service_create_response(invocation.protocol, invocation.protocol_options, invocation.api, invocation.api_method, return_value) + web_service_filtered_invoke(invocation, params) end def web_service_delegated_invoke(invocation) + web_service_filtered_invoke(invocation, invocation.method_ordered_params) + end + + def web_service_filtered_invoke(invocation, params) cancellation_reason = nil - return_value = invocation.service.perform_invocation(invocation.api_method.name, invocation.method_ordered_params) do |x| + return_value = invocation.service.perform_invocation(invocation.api_method.name, params) do |x| cancellation_reason = x end if cancellation_reason -- cgit v1.2.3