A flexible rest client that can be easy extended using plugins
The example below prints all of the files in a directory that have the .json file extension:
const httpTransport = require('http-transport');
Make a HTTP GET request using .get
const url = 'http://example.com/';
HttpTransport.createClient()
.get(url)
.asResponse()
.then((res) => {
console.log(res);
});Make a HTTP POST request using .post
const url = 'http://example.com/';
HttpTransport.createClient()
.post(url, requestBody)
.asResponse()
.then((res) => {
console.log(res);
});Make a HTTP GET request specifiying query strings using .query
const url = 'http://example.com/';
HttpTransport.createClient()
.get(url)
.query('example', 'true')
.asResponse()
.then((res) => {
console.log(res);
});Make a HTTP GET request specifiying request headers using .headers
HttpTransport.createClient()
.get(url)
.headers({
'someHeader1' : 'someValue1'
'someHeader2' : 'someValue2'
})
.asResponse()
.then((res) => {
console.log(res);
});Convert Internal Server responses (500) to errors:
const toError = require('http-transport-to-errors');
const url = 'http://example.com/';
const client = HttpTransport.createClient();
client.useGlobal(toError()); // for all requests
client.get(url)
.asResponse()
.catch((err) => {
console.error(err);
});Make a HTTP GET and retry twice on error .retry
const toError = require('http-transport-to-errors');
return HttpTransport.createClient()
.useGlobal(toError())
.get('http://example.com/')
.retry(2)
.asResponse()
.catch(assert.ifError)
.then((res) => {
assert.equal(res.statusCode, 200);
});Make a HTTP GET and timeout after 50ms .query
HttpTransport.createClient()
.get(url)
.timeout(50)
.asBody();Make a HTTP GET request and supply a alternative HTTP transport via .createClient
const url = 'http://example.com/';
const HttpTransport = require('http-transport');
const Wreck = require('http-transport-wreck');
HttpTransport.createClient(Wreck)
.get(url)
.asResponse()
.then((res) => {
if (res.statusCode === 200) {
console.log(res.body);
}
});
});See Callbacks
See Wreck
See Ratelimiting
See Caching
See Errors
See Circuit-breaker
See Stats
See Logging