Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

1.0 Specification error field #13

Open
bbkr opened this Issue · 1 comment

2 participants

@bbkr

Spec 1.0 says that "error" must be "An Error object" without precising it.

However library assumes that "error" is returned in 2.0 spec format - with mandatory "code" and "error" keys - even if jsonrpclib.config.version is set to 1.0.

So if you connect to valid 1.0 server and get valid "error":{"reason":"something"} response you get KeyError exception instead of error content.

Lines that cause problem:
https://github.com/joshmarshall/jsonrpclib/blob/master/jsonrpclib/jsonrpc.py#L527-528

@dawryn

I also came up to the same problem. Version is not used in response dispatcher.
Solution:

diff --git a/jsonrpclib/SimpleJSONRPCServer.py b/jsonrpclib/SimpleJSONRPCServer.py
index d76da73..ec383a1 100644
--- a/jsonrpclib/SimpleJSONRPCServer.py
+++ b/jsonrpclib/SimpleJSONRPCServer.py
@@ -105,7 +105,8 @@
         try:
             response = jsonrpclib.dumps(response,
                                         methodresponse=True,
-                                        rpcid=request['id']
+                                        rpcid=request['id'],
+                                        version=get_version(request)
                                         )
             return response
         except:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.