class JSONService: def __init__(self, url, handler=None): self.parser = JSONParser() self.url = url self.handler = handler def callMethod(self, method, params, handler=None): if handler == None: handler = self.handler if handler == None: return self.__sendNotify(method, params) else: return self.__sendRequest(method, params, handler) def onCompletion(self): pass def __sendNotify(self, method, params): msg = {"id": None, "method": method, "params": params} msg_data = self.parser.encode(msg) if not HTTPRequest().asyncPost(self.url, msg_data, self): return -1 return 1 def __sendRequest(self, method, params, handler): id = pygwt.getNextHashId() msg = {"id": id, "method": method, "params": params} msg_data = self.parser.encode(msg) request_info = JSONRequestInfo(id, method, handler) if not HTTPRequest().asyncPost(self.url, msg_data, JSONResponseTextHandler(request_info)): return -1 return id
class JSONService: def __init__(self, url, handler = None): self.parser = JSONParser() self.url = url self.handler = handler def callMethod(self, method, params, handler = None): if handler == None: handler = self.handler if handler == None: return self.__sendNotify(method, params) else: return self.__sendRequest(method, params, handler) def onCompletion(self): pass def __sendNotify(self, method, params): msg = {"id":None, "method":method, "params":params} msg_data = self.parser.encode(msg) if not HTTPRequest().asyncPost(self.url, msg_data, self): return -1 return 1 def __sendRequest(self, method, params, handler): id = pygwt.getNextHashId() msg = {"id":id, "method":method, "params":params} msg_data = self.parser.encode(msg) request_info = JSONRequestInfo(id, method, handler) if not HTTPRequest().asyncPost(self.url, msg_data, JSONResponseTextHandler(request_info)): return -1 return id
class JSONService: def __init__(self, url, handler = None): """ Create a JSON remote service object. The url is the URL that will receive POST data with the JSON request. See the JSON-RPC spec for more information. The handler object should implement onRemoteResponse(value, requestInfo) to accept the return value of the remote method, and onRemoteError(code, message, requestInfo) to handle errors. """ self.parser = JSONParser() self.url = url self.handler = handler def callMethod(self, method, params, handler = None): if handler == None: handler = self.handler if handler == None: return self.__sendNotify(method, params) else: return self.__sendRequest(method, params, handler) def onCompletion(self): pass def __sendNotify(self, method, params): msg = {"id":None, "method":method, "params":params} msg_data = self.parser.encode(msg) if not HTTPRequest().asyncPost(self.url, msg_data, self): return -1 return 1 def __sendRequest(self, method, params, handler): id = pygwt.getNextHashId() msg = {"id":id, "method":method, "params":params} msg_data = self.parser.encode(msg) request_info = JSONRequestInfo(id, method, handler) if not HTTPRequest().asyncPost(self.url, msg_data, JSONResponseTextHandler(request_info)): return -1 return id