Skip to content

Commit bb62f5d

Browse files
committed
Removed "params" validation, content validation should be done by user application
1 parent d41fa0d commit bb62f5d

File tree

2 files changed

+8
-30
lines changed

2 files changed

+8
-30
lines changed

pyjsonrpclite/jsonrpc.py

Lines changed: 7 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -135,22 +135,7 @@ def SubValidateMethod(jsondict):
135135
if not SubHasMethod(jsondict):
136136
raise JsonRpcException('No "method" field')
137137
if not SubIsMethodCorrect(jsondict):
138-
raise JsonRpcException('Invalid "method" field value')
139-
140-
def SubValidateParams(params):
141-
'''Checks if params not empty. Raises `JsonRpcException` if invalid.
142-
Params:
143-
params -- {scalar|array|object} value of jsondict['params']
144-
'''
145-
if params is None:
146-
return True
147-
if isinstance(params, basestring):
148-
return len(params) > 0
149-
if isinstance(params, list):
150-
return len(params) > 0
151-
if isinstance(params, object):
152-
return True
153-
return False
138+
raise JsonRpcException('Invalid "method" field value')
154139

155140
def SubValidateErrorObj(errdict):
156141
'''Checks if Error object has JSON-RPC 2.0 required fields. '''
@@ -173,26 +158,19 @@ def SubParseNotification(jsondict):
173158
except JsonRpcException as e:
174159
raise JsonRpcParseError(JsonRpcError.InvalidRequest(str(e)))
175160
params = jsondict.get('params', None)
176-
try:
177-
SubValidateParams(params)
178-
payload = JsonRpcMessage.Notification(jsondict['method'], params)
179-
return JsonRpcParsed(JsonRpcParsedType.NOTIFICATION, payload)
180-
except JsonRpcException as e:
181-
raise JsonRpcParseError(JsonRpcError.InvalidParams(str(e)))
161+
payload = JsonRpcMessage.Notification(jsondict['method'], params)
162+
return JsonRpcParsed(JsonRpcParsedType.NOTIFICATION, payload)
182163

183164
def SubParseRequest(jsondict):
184165
'''Parses jsondict, validates JSON-RPC 2.0 Request structure and values.
185166
Doesn't check JSON-RPC 2.0 "jsonrpc","id", "method".
186167
Raises `JsonRpcParseError` if parse failed, or params invalid.'''
187168
id = jsondict['id']
188169
method = jsondict['method']
189-
params = jsondict.get('params', None)
190-
try:
191-
SubValidateParams(params)
192-
payload = JsonRpcMessage.Request(id, method, params)
193-
return JsonRpcParsed(JsonRpcParsedType.REQUEST, payload)
194-
except JsonRpcException as e:
195-
raise JsonRpcParseError(JsonRpcError.InvalidParams(str(e)))
170+
params = jsondict.get('params', None)
171+
payload = JsonRpcMessage.Request(id, method, params)
172+
return JsonRpcParsed(JsonRpcParsedType.REQUEST, payload)
173+
196174

197175
def SubParseSuccessResponse(jsondict):
198176
'''Parses jsondict, validates JSON-RPC 2.0 Response Success structure and values.

tests/test_jsonrpc.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ def testParseNotificationReq(self):
177177
)
178178
actual = JsonRpcParsed.Parse(testReqJson)
179179
testutils.assertEqualObjects(expected, actual)
180-
180+
181181
def testParseSuccessRes(self):
182182
'''Checks if JSON-RPC 2.0 Success object parsed correct'''
183183
testReqJson = '''

0 commit comments

Comments
 (0)