diff --git a/src/jsonrpc/rpc.py b/src/jsonrpc/rpc.py index 6cbdd0e..70d19cd 100644 --- a/src/jsonrpc/rpc.py +++ b/src/jsonrpc/rpc.py @@ -11,23 +11,6 @@ from .exceptions import * log = logging.getLogger(__name__) -def __handler_execute(handler, query): - params = None - if 'params' in query: - params = query['params'] - if params is None: - response = handler() - elif isinstance(params, list): - response = handler(*params) - elif isinstance(params, dict): - response = handler(**params) - else: - raise InvalidParamsError( - id=query['id'], - message='Invalid params: {0}'.format(params) - ) - - return response class RPC: @@ -113,7 +96,25 @@ class RPC: ) return result - def __execute(self, query): + def __handler_execute(self, handler, query): + params = None + if 'params' in query: + params = query['params'] + if params is None: + response = handler() + elif isinstance(params, list): + response = handler(*params) + elif isinstance(params, dict): + response = handler(**params) + else: + raise InvalidParamsError( + id=query['id'], + message='Invalid params: {0}'.format(params) + ) + + return response + + def __handler_execute_save(self, query): """Выполнение метода """ result = self.validate(query) @@ -130,7 +131,7 @@ class RPC: handler = self.__handlers[name] try: - response = __handler_execute(handler, query) + response = __handler_execute_save(handler, query) except JSONRPCError as e: log.error(traceback.format_exc()) response = InternalError(