Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including api-http with all npm packages installed. Try it out:

var apiHttp = require("api-http")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

api-http v1.2.1

Simple Node.js class for performing HTTP API requests.

api-http

NPM Version Build Status

Simple Node.js class for performing HTTP requests.

npm install api-http

Example Usage

var APIHTTP = require('api-http');

var facebook = new APIHTTP('https://graph.facebook.com/v2.5/');

facebook.get('me')
.then(function (person) {
  console.log(person.first_name);
});

Methods

.get(), .delete(), .head()

Arguments: [path, query]

Example Usage:

var api = require('api-http')('http://example.com/');
// http://example.com/users?online=true
api.get('users', {online: true});

.post(), .patch(), .put(), ... etc.

Arguments: [path, body, query]

Example Usage:

api.post('customers', {
  firstName: 'John',
  lastName: 'Smith'
});

.token(accessToken)

Create a new APIHTTP client scoped with an OAuth Bearer access token:

Example:

facebook.token('2348923984324').get('me')

.basic(username, password)

Create a new APIHTTP client scoped with a Basic Access Authorization header:

Example:

api.basic('Aladdin', 'open sesame').get('something/x/y')

Options / Properties

accessToken

Scope the client to an OAuth Bearer access token. This is an alternative to using the .token(accessToken) method, which would be more convenient if you are using different access tokens for multiple requests.

error

Function: [res]

Transform responses with a 4xx or 5xx HTTP status.

The default implementation will try to pick up the error message to set .status, .name, and .code automatically.

Example:

var client = new APIHTTP('http://localhost:8080', {
  error: function rejectHandler(res) {
    throw new Error(res.message);
  }
})

success

Function: [res]

Transform responses with 2xx HTTP status codes.

If you wanted, you could pass the result through camelize or something.

Default implementation:

function success(res) {
  return res.data;
}

headers

Function: []

Function which returns the headers for the request. In general, you will never need to pass this option unless you are overriding the authentication logic. If you wanted to set a custom user-agent, or add a correlation ID, subclass this method and don't forget to call super().

Note: All of the options simply set keys on this which means you can easily subclass APIHTTP.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free