Revision 24c09d5e lib/rpc/client.py
b/lib/rpc/client.py | ||
---|---|---|
47 | 47 |
try: |
48 | 48 |
request = serializer.LoadJson(msg) |
49 | 49 |
except ValueError, err: |
50 |
raise ProtocolError("Invalid LUXI request (parsing error): %s" % err)
|
|
50 |
raise ProtocolError("Invalid RPC request (parsing error): %s" % err)
|
|
51 | 51 |
|
52 |
logging.debug("LUXI request: %s", request)
|
|
52 |
logging.debug("RPC request: %s", request)
|
|
53 | 53 |
|
54 | 54 |
if not isinstance(request, dict): |
55 |
logging.error("LUXI request not a dict: %r", msg)
|
|
56 |
raise ProtocolError("Invalid LUXI request (not a dict)")
|
|
55 |
logging.error("RPC request not a dict: %r", msg)
|
|
56 |
raise ProtocolError("Invalid RPC request (not a dict)")
|
|
57 | 57 |
|
58 | 58 |
method = request.get(KEY_METHOD, None) # pylint: disable=E1103 |
59 | 59 |
args = request.get(KEY_ARGS, None) # pylint: disable=E1103 |
60 | 60 |
version = request.get(KEY_VERSION, None) # pylint: disable=E1103 |
61 | 61 |
|
62 | 62 |
if method is None or args is None: |
63 |
logging.error("LUXI request missing method or arguments: %r", msg)
|
|
64 |
raise ProtocolError(("Invalid LUXI request (no method or arguments"
|
|
63 |
logging.error("RPC request missing method or arguments: %r", msg)
|
|
64 |
raise ProtocolError(("Invalid RPC request (no method or arguments"
|
|
65 | 65 |
" in request): %r") % msg) |
66 | 66 |
|
67 | 67 |
return (method, args, version) |
... | ... | |
101 | 101 |
if version is not None: |
102 | 102 |
response[KEY_VERSION] = version |
103 | 103 |
|
104 |
logging.debug("LUXI response: %s", response)
|
|
104 |
logging.debug("RPC response: %s", response)
|
|
105 | 105 |
|
106 | 106 |
return serializer.DumpJson(response) |
107 | 107 |
|
... | ... | |
123 | 123 |
return serializer.DumpJson(request) |
124 | 124 |
|
125 | 125 |
|
126 |
def CallLuxiMethod(transport_cb, method, args, version=None):
|
|
127 |
"""Send a LUXI request via a transport and return the response.
|
|
126 |
def CallRPCMethod(transport_cb, method, args, version=None):
|
|
127 |
"""Send a RPC request via a transport and return the response.
|
|
128 | 128 |
|
129 | 129 |
""" |
130 | 130 |
assert callable(transport_cb) |
... | ... | |
138 | 138 |
|
139 | 139 |
# Verify version if there was one in the response |
140 | 140 |
if resp_version is not None and resp_version != version: |
141 |
raise LuxiError("LUXI version mismatch, client %s, response %s" %
|
|
141 |
raise LuxiError("RPC version mismatch, client %s, response %s" %
|
|
142 | 142 |
(version, resp_version)) |
143 | 143 |
|
144 | 144 |
if success: |
... | ... | |
227 | 227 |
if not isinstance(args, (list, tuple)): |
228 | 228 |
raise errors.ProgrammerError("Invalid parameter passed to CallMethod:" |
229 | 229 |
" expected list, got %s" % type(args)) |
230 |
return CallLuxiMethod(self._SendMethodCall, method, args, |
|
231 |
version=constants.LUXI_VERSION) |
|
230 |
return CallRPCMethod(self._SendMethodCall, method, args, |
|
231 |
version=constants.LUXI_VERSION) |
Also available in: Unified diff