jsonrpc-lite v2.2.0
JSON-RPC lite
Parse and Serialize JSON-RPC2 messages in node.js or browser.
Inspired by https://github.com/soggie/jsonrpc-serializer
A implementation of JSON-RPC 2.0 specifications
Install
npm install jsonrpc-liteAPI
const jsonrpc = require('jsonrpc-lite')jsonrpc.request(id, method, params)
Creates a JSON-RPC 2.0 request object, return JsonRpc object.
id: {String|Integer}method: {String}params: {Object|Array}, optional
const requestObj = jsonrpc.request('123', 'update', {list: [1, 2, 3]})
// {
// jsonrpc: '2.0',
// id: '123',
// method: 'update',
// params: {list: [1, 2, 3]}
// }jsonrpc.notification(method, params)
Creates a JSON-RPC 2.0 notification object, return JsonRpc object.
method: {String}params: {Object|Array}, optional
const notificationObj = jsonrpc.notification('update', {list: [1, 2, 3]})
// {
// jsonrpc: '2.0',
// method: 'update',
// params: {list: [1, 2, 3]}
// }jsonrpc.success(id, result)
Creates a JSON-RPC 2.0 success response object, return JsonRpc object.
id: {String|Integer}result: {Mixed}
const successObj = jsonrpc.success('123', 'OK')
// {
// jsonrpc: '2.0',
// id: '123',
// result: 'OK',
// }jsonrpc.error(id, error)
Creates a JSON-RPC 2.0 error response object, return JsonRpc object.
id: {String|Integer}error: {JsonRpcError}
const errorObj = jsonrpc.error('123', new jsonrpc.JsonRpcError('some error', 99))
// {
// jsonrpc: '2.0',
// id: '123',
// error: {code: 99, 'message': 'some error'},
// }jsonrpc.parse(message)
Takes a JSON-RPC 2.0 payload (string) and tries to parse it into a JSON. If successful, determine what object is it (response, notification, success, error, or invalid), and return it's type and properly formatted object.
message: {String}
return an array, or an object of this format:
single parsed request:
{
type: 'request',
payload: {
jsonrpc: '2.0',
id: 123,
method: 'update',
params: {}
}
}batch parsed result:
[{
type: 'request',
payload: {
jsonrpc: '2.0',
id: '123',
method: 'update',
params: [1, 2, 3]
}
}, {
type: 'notification',
payload: {
jsonrpc: '2.0',
method: 'update',
params: {_id: 'xxx'}
}
}, {
type: 'success',
payload: {
jsonrpc: '2.0',
id: '123',
result: 'OK'
}
}, {
type: 'error',
payload: {
jsonrpc: '2.0',
id: '123',
error: [jsonrpc.JsonRpcError object]
}
}, {
type: 'invalid',
payload: [jsonrpc.JsonRpcError object]
}]jsonrpc.parseObject(message)
Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON. If successful, determine what object is it (response, notification, success, error, or invalid), and return it's type and properly formatted object.
message: {Object}
return an JsonRpcParsed object with type and payload.
Class: jsonrpc.JsonRpc()
Class: jsonrpc.JsonRpcError(message, code, data)
Create a JsonRpcError instance.
message: {String}code: {Integer}data: {Mixed} optional
const error = new jsonrpc.JsonRpcError('some error', 999)Class Method: jsonrpc.JsonRpcError.invalidRequest(data)
Class Method: jsonrpc.JsonRpcError.methodNotFound(data)
Class Method: jsonrpc.JsonRpcError.invalidParams(data)
Class Method: jsonrpc.JsonRpcError.internalError(data)
Class Method: jsonrpc.JsonRpcError.parseError(data)
5 years ago
5 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
11 years ago
11 years ago