pulls the jsonrpc request builder code into top level function (#25833)

refactors the Connection class to use the top level function.  This will
make the request_builder() function useful for other components such as
action handlers.
pull/25838/head
Peter Sprygada 8 years ago committed by GitHub
parent 450263e934
commit 3f17e87c5a

@ -82,6 +82,17 @@ def exec_command(module, command):
return rc, to_native(stdout), to_native(stderr) return rc, to_native(stdout), to_native(stderr)
def request_builder(method, *args, **kwargs):
reqid = str(uuid.uuid4())
req = {'jsonrpc': '2.0', 'method': method, 'id': reqid}
params = list(args) or kwargs or None
if params:
req['params'] = params
return req
class Connection: class Connection:
def __init__(self, module): def __init__(self, module):
@ -104,13 +115,8 @@ class Connection:
For usage refer the respective connection plugin docs. For usage refer the respective connection plugin docs.
""" """
req = request_builder(name, *args, **kwargs)
reqid = str(uuid.uuid4()) reqid = req['id']
req = {'jsonrpc': '2.0', 'method': name, 'id': reqid}
params = list(args) or kwargs or None
if params:
req['params'] = params
if not self._module._socket_path: if not self._module._socket_path:
self._module.fail_json(msg='provider support not available for this host') self._module.fail_json(msg='provider support not available for this host')

Loading…
Cancel
Save