Fix the handling of MESSAGE_METHOD_UNKNOWN, MESSAGE_PARAMETER_COUNT_MISMATCH,

through the AsyncProxy.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
This commit is contained in:
Ewan Mellor committed 2007-01-28 18:37:42 +00:00
1 parent 063417a54b
commit 1e382e1113
1 file changed
+9 -6
+9 -6
View File
@@ -2019,19 +2019,22 @@ class XendAPIAsyncProxy:
# Only deal with method names that start with "Async."
if not method.startswith(self.method_prefix):
raise Exception('Method %s not supported' % method)
# Require 'session' argument to be present.
if len(args) < 1:
raise Exception('Not enough arguments')
return xen_api_error(['MESSAGE_METHOD_UNKNOWN', method])
# Lookup synchronous version of the method
synchronous_method_name = method[len(self.method_prefix):]
if synchronous_method_name not in self.method_map:
raise Exception('Method %s not supported' % method)
return xen_api_error(['MESSAGE_METHOD_UNKNOWN', method])
method = self.method_map[synchronous_method_name]
# Check that we've got enough arguments before issuing a task ID.
needed = argcounts[method.api]
if len(args) != needed:
return xen_api_error(['MESSAGE_PARAMETER_COUNT_MISMATCH',
self.method_prefix + method.api, needed,
len(args)])
# Validate the session before proceeding
session = args[0]
if not auth_manager().is_session_valid(session):
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.