[Checkins] SVN: z3c.jsonrpc/trunk/ handle empty params see changes, version bump
Bernd Dorn
bernd.dorn at lovelysystems.com
Tue Apr 7 04:26:33 EDT 2009
Log message for revision 98967:
handle empty params see changes, version bump
Changed:
U z3c.jsonrpc/trunk/CHANGES.txt
U z3c.jsonrpc/trunk/setup.py
U z3c.jsonrpc/trunk/src/z3c/jsonrpc/README.txt
U z3c.jsonrpc/trunk/src/z3c/jsonrpc/publisher.py
-=-
Modified: z3c.jsonrpc/trunk/CHANGES.txt
===================================================================
--- z3c.jsonrpc/trunk/CHANGES.txt 2009-04-07 06:24:00 UTC (rev 98966)
+++ z3c.jsonrpc/trunk/CHANGES.txt 2009-04-07 08:26:32 UTC (rev 98967)
@@ -2,10 +2,10 @@
CHANGES
=======
-Version 0.5.4 (unreleased)
+Version 0.5.4 (2009-04-07)
--------------------------
-- ...
+- handle empty and none-existing params in jsonrpc requests
Version 0.5.3 (2009-03-10)
Modified: z3c.jsonrpc/trunk/setup.py
===================================================================
--- z3c.jsonrpc/trunk/setup.py 2009-04-07 06:24:00 UTC (rev 98966)
+++ z3c.jsonrpc/trunk/setup.py 2009-04-07 08:26:32 UTC (rev 98967)
@@ -24,7 +24,7 @@
setup (
name='z3c.jsonrpc',
- version='0.5.4dev',
+ version='0.5.4',
author = "Roger Ineichen and the Zope Community",
author_email = "zope-dev at zope.org",
description = "JSON RPC server and client implementation for Zope3",
Modified: z3c.jsonrpc/trunk/src/z3c/jsonrpc/README.txt
===================================================================
--- z3c.jsonrpc/trunk/src/z3c/jsonrpc/README.txt 2009-04-07 06:24:00 UTC (rev 98966)
+++ z3c.jsonrpc/trunk/src/z3c/jsonrpc/README.txt 2009-04-07 08:26:32 UTC (rev 98967)
@@ -249,7 +249,6 @@
...
NotFound: Object: <zope.site.folder.Folder...: u'++skin++JSONRPCTestSkin'
-
Testing
-------
@@ -271,6 +270,19 @@
>>> proxy.hello()
u'Hello World'
+As defined in the jsonrpc spec it is also allowed to omit the params
+completly we need to test this with a post directly because the
+testing proxy always sets the params.
+
+ >>> browser.post(siteURL + '/content', "{'method':'hello', 'id':1}",
+ ... content_type='application/json')
+ >>> browser.contents
+ '{"jsonrpc":"2.0","result":"Hello World","id":1}'
+ >>> browser.post(siteURL + '/content', "{'method':'hello', 'params':null, 'id':1}",
+ ... content_type='application/json')
+ >>> browser.contents
+ '{"jsonrpc":"2.0","result":"Hello World","id":1}'
+
>>> proxy2 = JSONRPCTestProxy(siteURL + '/container')
>>> proxy2.available()
u'Hello World'
Modified: z3c.jsonrpc/trunk/src/z3c/jsonrpc/publisher.py
===================================================================
--- z3c.jsonrpc/trunk/src/z3c/jsonrpc/publisher.py 2009-04-07 06:24:00 UTC (rev 98966)
+++ z3c.jsonrpc/trunk/src/z3c/jsonrpc/publisher.py 2009-04-07 08:26:32 UTC (rev 98967)
@@ -154,7 +154,7 @@
# parser
raise ParseError
# get the params
- params = data['params']
+ params = data.get('params', [])
if self.jsonId is None:
self.jsonId = data.get('id', self._jsonId)
@@ -221,6 +221,8 @@
d = tuple(d)
self.form[key] = d
args = []
+ elif params is None:
+ args = []
else:
raise TypeError, 'Unsupported JSON-RPC version (%s)' % \
self.jsonVersion
More information about the Checkins
mailing list