mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
remove wrongheaded uses of "rescue nil" if it will mask a useful exception. also include
the whole backtrace in the 500 error response body if exception reporting is turned on (the default). git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1035 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
c73a414a9a
commit
37270359ac
3 changed files with 6 additions and 13 deletions
|
@ -76,10 +76,7 @@ module ActionWebService # :nodoc:
|
|||
invocation.api = self.class.web_service_api
|
||||
invocation.service = self
|
||||
when :delegated, :layered
|
||||
invocation.service = web_service_object(invocation.service_name) rescue nil
|
||||
unless invocation.service
|
||||
raise(DispatcherError, "service #{invocation.service_name} not available")
|
||||
end
|
||||
invocation.service = web_service_object(invocation.service_name)
|
||||
invocation.api = invocation.service.class.web_service_api
|
||||
end
|
||||
request.api = invocation.api
|
||||
|
|
|
@ -89,10 +89,12 @@ module ActionWebService # :nodoc:
|
|||
else
|
||||
if self.class.web_service_exception_reporting
|
||||
message = exception.message
|
||||
backtrace = "\nBacktrace:\n#{exception.backtrace.join("\n")}"
|
||||
else
|
||||
message = "Exception raised"
|
||||
backtrace = ""
|
||||
end
|
||||
render_text("Internal protocol error: #{message}", "500 #{message}")
|
||||
render_text("Internal protocol error: #{message}#{backtrace}", "500 #{message}")
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -11,10 +11,7 @@ module WS
|
|||
end
|
||||
|
||||
def decode_rpc_call(obj)
|
||||
method_name, params = XMLRPC::Marshal.load_call(obj) rescue nil
|
||||
unless method_name && params
|
||||
raise(XmlRpcError, "Malformed XML-RPC request")
|
||||
end
|
||||
method_name, params = XMLRPC::Marshal.load_call(obj)
|
||||
i = 0
|
||||
params = params.map do |value|
|
||||
param = XmlRpcDecodedParam.new("param#{i}", value)
|
||||
|
@ -33,10 +30,7 @@ module WS
|
|||
end
|
||||
|
||||
def decode_rpc_response(obj)
|
||||
return_value = XMLRPC::Marshal.load_response(obj) rescue nil
|
||||
if return_value.nil?
|
||||
raise(XmlRpcError, "Malformed XML-RPC response")
|
||||
end
|
||||
return_value = XMLRPC::Marshal.load_response(obj)
|
||||
[nil, XmlRpcDecodedParam.new('return', return_value)]
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue