~lev-orekhov/txjsonrpc/txjsonrpc

« back to all changes in this revision

Viewing changes to txjsonrpc/web/jsonrpc.py

  • Committer: lev.orekhov at gmail
  • Date: 2013-02-06 13:36:44 UTC
  • Revision ID: lev.orekhov@gmail.com-20130206133644-pcuox2hbah2l57xh
Added message id for JSON-RPC 2.0 spec.

Show diffs side-by-side

added added

removed removed

Lines of Context:
122
122
                result = (result,)
123
123
            # Convert the result (python) to JSON-RPC
124
124
        try:
125
 
            s = jsonrpclib.dumps(result, version=version)
 
125
            s = jsonrpclib.dumps(result, version=version, id=id)
126
126
        except:
127
127
            f = jsonrpclib.Fault(self.FAILURE, "can't serialize output")
128
 
            s = jsonrpclib.dumps(f, version=version)
 
128
            s = jsonrpclib.dumps(f, version=version, id=id)
129
129
        request.setHeader("content-length", str(len(s)))
130
130
        request.write(s)
131
131
        request.finish()
166
166
    protocol = QueryProtocol
167
167
 
168
168
    def __init__(self, path, host, method, user=None, password=None,
169
 
                 version=jsonrpclib.VERSION_PRE1, *args):
170
 
        BaseQueryFactory.__init__(self, method, version, *args)
 
169
                 version=jsonrpclib.VERSION_PRE1, *args, **kwargs):
 
170
        BaseQueryFactory.__init__(self, method, version, *args, **kwargs)
171
171
        self.path, self.host = path, host
172
172
        self.user, self.password = user, password
173
173
 
241
241
        # XXX generate unique id and pass it as a parameter
242
242
        factoryClass = self._getFactoryClass(kwargs)
243
243
        factory = factoryClass(self.path, self.host, method, self.user,
244
 
            self.password, version, *args)
 
244
            self.password, version, *args, **kwargs)
245
245
        if self.secure:
246
246
            from twisted.internet import ssl
247
247
            reactor.connectSSL(self.host, self.port or 443,