raptor-client
Version:
A transport-agnostic RPC client that follows the JSON-RPC 2.0 spec. Works in the browser and on the server.
74 lines (47 loc) • 1.56 kB
Markdown
A transport-agnostic RPC client that follows the JSON-RPC 2.0 spec. Works in
the browser and on the server.
```sh
npm install --save raptor-client
```
*AJAX*
```javascript
var raptor = require('raptor-client')
var client = raptor('http://localhost/api')
client.send('add', [1, 2], function (err, res) {
if (err) throw err
console.log('1 + 2 =', res)
})
```
*Web Sockets*
```javascript
var raptor = require('raptor-client')
var client = raptor('ws://localhost')
client.send('add', [1, 2], function (err, res) {
if (err) throw err
console.log('1 + 2 =', res)
})
client.on('notification', function (msg) {
// The server wants something!
})
```
Returns a new `Client` connected to the specific uri.
Supported protocols in the browser: `http`, `https`, `ws`, `wss`
Supported protocols on Node.js: `http`, `https`
The server has sent a notification to us.
Send a request to the server. Returns a promise of the result from the server.
If an error response is returned from the sever, the promise will reject with an
error that has `.rpcCode` and `.rpcData` populated from the response.
Send a notification to the server. Returns a promise that will resolve when the
notification has been sent to server.
The promise will only reject if there is a network problem, since a server
cannot respond to a notification.
MIT