1.2.0 • Published 9 years ago

request-ajax v1.2.0

Weekly downloads
5
License
MIT
Repository
github
Last release
9 years ago

request-ajax npm version Build Status codecov.io

HTTP request client for APIs, based on request

Install

$ npm install --save request-ajax

Usage

Below is a example of usage.

var express = require('express');
var ajax = require('request-ajax');

var app = express();

app.get('/', function(req, res, next){
  ajax({
    // only JSON API is supported
    url: 'http://my-api.com/users.json'
    // your API auth
    clientId: process.env.CLIENT_ID,
    clientSecret: process.env.CLIENT_SECRET,
    // callbacks
    error: function(apiRequestError, apiResponse, statusCode) {
      next(apiRequestError || new Error('API error: ' + apiResponse.body));
    },
    success: function(data, apiResponse, statusCode) {
      var userCount = data.length;
      res.send('user count: ' + userCount);
    },
    complete: function(apiRequestError, isApiSuccess, apiResponse) {
      // ...
    }
  });
});

Options

url, required

API url, https will be removed from the url

prefilterUrl

default undefined

if function: this function will be called to let you replace the url with something different. For example: replacing https:// with http:// or using a local DNS/IP.

ajax({
  url: 'https://my-api.com/users.json',
  prefilterUrl: function(url) {
    return url && url.replace(new RegExp('^https://'), 'http://');
  }
});

method

default 'GET'

HTTP method to use for the request e.g. 'POST'

type

same as method

headers

default {}, custom headers

headers: {
  'X-FOO': 'BAR'
}

locale

default undefined, sets Accept-Language header

accessToken

default undefined, sets Bearer

requestOptions.auth = {
  bearer: options.accessToken
};

more about request auth option

apiClientId, origin

default undefined, sets Authorization header

requestOptions.headers.Authorization = 'Basic ' + new Buffer(options.apiClientId + ':').toString('base64');
requestOptions.headers.Origin = options.origin;

clientId, clientSecret

default undefined, sets Bearer

requestOptions.auth = {
  user: options.clientId,
  pass: options.clientSecret
};

more about request auth user/pass option

auth note:

accessToken wins over apiClientId, origin wins over clientId, clientSecret

timeout

default undefined, proxy to the request timeout option

Callbacks

success(json, apiResponse, statusCode)

error(moduleError, [apiResponse, statusCode])

complete(moduleError, isApiSuccess, [apiResponse, statusCode])


Backbone tests were copied form artsy/backbone-super-sync

1.2.0

9 years ago

1.1.0

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago