RequestRPC client (stateless)
Purpose
Class extending BaseRPC
to handle stateless JSON-RPC 2.0 calls.
See HTTP transports documentation for possible transports and the StreamRPC
class documentation to handle stateful JSON-RPC 2.0 calls.
Installation
npm install @erebos/rpc-request
Usage
import { RequestRPC } from '@erebos/rpc-request'
import { createTransport } from '@erebos/transport-http-node'
class MyAPI extends RequestRPC {
constructor(url: string) {
super(createTransport(url))
}
getUser(id: string): Promise<{ name: string }> {
return this.request('getUser', [id])
}
}
const api = new MyAPI('http://my-api-url')
api.getUser('1234')
Interfaces and types
type FetchFunction = <D = any, R = any>(data: D) => Promise<R>
RequestRPC class
See the BaseRPC
documentation for inherited methods and properties.
new RequestRPC()
Arguments
fetch: FetchFunction
: function making the server call using the JSON-RPC request Object and returning the response.
.request()
Arguments
method: string
params: T = any
Returns Promise<R = any>