jsonrpc.js tests && jsonrpc response validation is more strict
This commit is contained in:
1 parent
45134de740
commit
e58e2f5ee4
8 files changed
+235
-10
No files matched your search
+6
-2
@@ -39,9 +39,13 @@ var toPayload = function (method, params) {
|
||||
};
|
||||
|
||||
/// Should be called to check if jsonrpc response is valid
|
||||
/// @returns true if response doesn't have error field
|
||||
/// @returns true if response is valid, otherwise false
|
||||
var isValidResponse = function (response) {
|
||||
return response && !response.error;
|
||||
return !!response &&
|
||||
!response.error &&
|
||||
response.jsonrpc === '2.0' &&
|
||||
typeof response.id === 'number' &&
|
||||
(!!response.result || typeof response.result === 'boolean');
|
||||
};
|
||||
|
||||
/// Should be called to create batch payload object
|
||||
|
||||
@@ -54,6 +54,7 @@ var ProviderManager = function() {
|
||||
var result = results[index];
|
||||
|
||||
if (!jsonrpc.isValidResponse(result)) {
|
||||
console.log(result);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -86,7 +87,7 @@ ProviderManager.prototype.send = function(data) {
|
||||
var result = this.provider.send(payload);
|
||||
|
||||
if (!jsonrpc.isValidResponse(result)) {
|
||||
console.log(result.error);
|
||||
console.log(result);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user