@purushothkabaddi/polly
v1.0.0
Published
The library is wrapper on top of [axios](https://github.com/axios/axios), that wraps around the promises and returns then as Rx Observables. This was written to help write linear code, for polling based network calls.
Downloads
6
Readme
polly
The library is wrapper on top of axios, that wraps around the promises and returns then as Rx Observables. This was written to help write linear code, for polling based network calls.
Usage
Simple REST Calls
As a first step, a client is created with the BASE_URL. You could optionally pass it headers and timeout too.
const client = new Client(BASE_URL);
The calls can be made the same way an axios call is made as shown below. Please note the start
method instead of subscribe
client.get("messages", "/messages").start((res) => {
console.log("The response received is", res.data);
});
You may also choose to get back a promise and handle it on your own using promise method
client.get("messages", "/messages")
.promise();
.then((res:any) => {
console.log(res.data)
});
Polling Calls
To make a get call that polls, we just chain a method call pollEvery()
as shown below.
client.get("messages", "messages")
.pollEvery()
.start(res => {
console.log("Response received is:", res.data);
});
Once the above call is made with the start
method, it starts polling.
To stop the service polling ( essentially a call made on exiting from a page ), the stop method with the identifier needs to be made as shown below.
client.stop("messages");
The get method takes the following parameters.
| Params | Purpose | | ---- | ---- | | Identifier | This helps in identification of the network call | | URL | This is the specific endpoint under the base URL that needs to be accessed | | every | A number that specifies in seconds, on how frequently the calls needs to be made | | config | Usual Axios Configs. if any |
The pinging calls can be made to any of the RESTFul methods ( POST, PUT etc.)