Browse code
tweaked the example a bit, fixed calls to JSON_RPC.eventhandler.log in server
Ed L authored on 01/06/2011 20:41:27
Showing 2 changed files
Showing 2 changed files
... | ... |
@@ -37,8 +37,12 @@ import traceback |
37 | 37 |
from jsonrpc.server import ServerEvents, JSON_RPC |
38 | 38 |
|
39 | 39 |
class JSONRPCTest(ServerEvents): |
40 |
- def log(self, *a): |
|
41 |
- print a |
|
40 |
+ def log(self, responses, txrequest): |
|
41 |
+ if isinstance(responses, list): |
|
42 |
+ for response in responses: |
|
43 |
+ print txrequest, response.id, response.result or response.error |
|
44 |
+ else: |
|
45 |
+ print txrequest, responses.id, responses.result or responses.error |
|
42 | 46 |
|
43 | 47 |
def findmethod(self, method): |
44 | 48 |
if method in set(['add', 'subtract']): |
... | ... |
@@ -67,7 +67,7 @@ class ServerEvents(object): |
67 | 67 |
'''Override to implement custom handling of the method result and request''' |
68 | 68 |
return result |
69 | 69 |
|
70 |
- def log(self, result, request): |
|
70 |
+ def log(self, response, txrequest): |
|
71 | 71 |
'''Override to implement custom error handling''' |
72 | 72 |
pass |
73 | 73 |
|
... | ... |
@@ -234,12 +234,12 @@ class JSON_RPC(Resource): |
234 | 234 |
result.append(res) |
235 | 235 |
|
236 | 236 |
|
237 |
- self.eventhandler.log(result, request) |
|
238 | 237 |
|
239 | 238 |
if result != []: |
240 | 239 |
if not islist: result = result[0] |
241 | 240 |
else: result = None |
242 | 241 |
|
242 |
+ self.eventhandler.log(result, request) |
|
243 | 243 |
return result |
244 | 244 |
|
245 | 245 |
|
... | ... |
@@ -254,7 +254,6 @@ class JSON_RPC(Resource): |
254 | 254 |
request.finish() |
255 | 255 |
|
256 | 256 |
def _ebRender(self, result, request, id, finish=True): |
257 |
- self.eventhandler.log(result, request) |
|
258 | 257 |
|
259 | 258 |
err = None |
260 | 259 |
if not isinstance(result, BaseException): |
... | ... |
@@ -263,6 +262,7 @@ class JSON_RPC(Resource): |
263 | 262 |
err = e |
264 | 263 |
else: err = result |
265 | 264 |
err = self.render_error(err, id) |
265 |
+ self.eventhandler.log(err, request) |
|
266 | 266 |
|
267 | 267 |
request.setHeader("content-type", 'application/json') |
268 | 268 |
request.setResponseCode(200) |