diff options
author | Russell Yanofsky <russ@yanofsky.org> | 2017-09-07 17:38:11 -0400 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2017-11-03 10:07:59 -0400 |
commit | 2eea279fe663d9fcc8057db4d6b69bc0e549fee1 (patch) | |
tree | 94ab9d40a38c750a58e6c17fdb969482e146dfb3 /test/functional/test_framework | |
parent | 305f7682420f03808deaaf249eadacd81a8748be (diff) | |
download | bitcoin-2eea279fe663d9fcc8057db4d6b69bc0e549fee1.tar.xz |
Make AuthServiceProxy._batch method usable
Split off AuthServiceProxy.get_request method to make it easier to batch RPC
requests without duplicating code and remove leading underscore from _batch
method.
This does not change any existing behavior.
Github-Pull: #11277
Rebased-From: 9f67646f173dd29464666b34de2ec9cfc480c11a
Diffstat (limited to 'test/functional/test_framework')
-rw-r--r-- | test/functional/test_framework/authproxy.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/test/functional/test_framework/authproxy.py b/test/functional/test_framework/authproxy.py index b3671cbdc5..747bda309c 100644 --- a/test/functional/test_framework/authproxy.py +++ b/test/functional/test_framework/authproxy.py @@ -138,17 +138,20 @@ class AuthServiceProxy(object): self.__conn.request(method, path, postdata, headers) return self._get_response() - def __call__(self, *args, **argsn): + def get_request(self, *args, **argsn): AuthServiceProxy.__id_count += 1 log.debug("-%s-> %s %s"%(AuthServiceProxy.__id_count, self._service_name, json.dumps(args, default=EncodeDecimal, ensure_ascii=self.ensure_ascii))) if args and argsn: raise ValueError('Cannot handle both named and positional arguments') - postdata = json.dumps({'version': '1.1', - 'method': self._service_name, - 'params': args or argsn, - 'id': AuthServiceProxy.__id_count}, default=EncodeDecimal, ensure_ascii=self.ensure_ascii) + return {'version': '1.1', + 'method': self._service_name, + 'params': args or argsn, + 'id': AuthServiceProxy.__id_count} + + def __call__(self, *args, **argsn): + postdata = json.dumps(self.get_request(*args, **argsn), default=EncodeDecimal, ensure_ascii=self.ensure_ascii) response = self._request('POST', self.__url.path, postdata.encode('utf-8')) if response['error'] is not None: raise JSONRPCException(response['error']) @@ -158,7 +161,7 @@ class AuthServiceProxy(object): else: return response['result'] - def _batch(self, rpc_call_list): + def batch(self, rpc_call_list): postdata = json.dumps(list(rpc_call_list), default=EncodeDecimal, ensure_ascii=self.ensure_ascii) log.debug("--> "+postdata) return self._request('POST', self.__url.path, postdata.encode('utf-8')) |