javascript-web-client v1.0.0
javascript-web-client
Javascript Web Client is exactly what it sounds like!
It's a client for Javascript requests.
Internally, we use the request npm package to make requests.
However, this package is structured into a class so that it can be extended and used in an object-oriented way!
Javascript Web Client also uses promises instead of callbacks.
Usage
Setup
In package.json:
dependencies: {
"javascript-web-client": "^1",
...
}In whatever file:
const WebClient = require('javascript-web-client');Instantiating the class
Since this is an ES6 class, it must be instantiated before it can be used.
const WebClient = require('javascript-web-client');
const myApiWebClient = new WebClient('https://myApi.com/');It's very easy to instantiate. Just pass one string argument in. This is the base URL that will be used in all requests. This argument is required. If you want a generic web client that can hit any endpoint, pass in an empty string.
Making an API call
const WebClient = require('javascript-web-client');
const myApiWebClient = new WebClient('https://myApi.com/');
const path = '/path/to/endpoint';
const options = {
/* request.js options object
see https://github.com/request/request
*/
}
myApiWebClient.request(path, options)
.then(response => {
console.log(response); // This will log the entire response.
});Built-in formatting methods
There are 3 built-in methods that will parse the response to return the part you care about, in the format you want.
requestAsJson: Converts thebodyproperty ofresponseto JSON, and gives you the entireresponseobject.requestBody: Gives you thebodyproperty ofresponse, discarding the rest ofresponse.requestBodyAsJson: Converts thebodyproperty ofresponseto JSON and gives you the converted body.
const WebClient = require('javascript-web-client');
const myApiWebClient = new WebClient('https://myApi.com/');
const path = '/path/to/endpoint';
const options = {
/* request.js options object
see https://github.com/request/request
*/
}
myApiWebClient.requestBodyAsJson(path, options)
.then(response => {
console.log(response); // This will log the response body, as an object.
});9 years ago