Skip to content

AsyncFetchHelper is wrapper for async that using unirest or soap to fetch data with less code.

Notifications You must be signed in to change notification settings

DerekHung/async-fetch-helper

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Async Fetch Helper 2.8.3

AsyncFetchHelper is wrapper for async that using unirest or soap to fetch data with less code.

Install

$ npm install async-fetch-helper --save

Usage

var AsyncFetchHelper = require('async-fetch-helper');
var initSettings = {};
var asyncFetchHelper = new AsyncFetchHelper(initSettings);

asyncFetchHelper.need(['soap', 'rest']).then(function(soap, rest){
	return [
		soap('http://soapApi.com', function(client){
			client.method(paramObj);
		}),
		rest('get', 'http://restApi.com', params)
	];
}).end(function(results){
	console.log(results);
	// [soapResult, restResult]
})

AsyncFetchHelper initial - setting

  • settings - Object;

The options we have:

  • apiUrl - String; If your api have the same domain,your can setting this param
  • connectionPool - Object; Set http agent object here

example : if you have two apis that url is [rest] http://api.com.tw/api1 and [soap] http://api.com.tw/api2

// settings
var initSettings = {
	"apiUrl" : "http://api.com.tw",
	"connectionPool": {
		"rest" : { "keepAlive": true, "keepAliveMsecs": 600000 , "maxSockets":5, "maxFreeSockets": 5},
		"soap" : { "keepAlive": true, "keepAliveMsecs": 600000 , "maxSockets":5, "maxFreeSockets": 5}
	}
};

AsyncFetchHelper initial - new function

var AsyncFetchHelper = require('async-fetch-helper');
var initSettings = {something : "setting at here, please view 'AsyncFetchHelper initial - setting'"};
var asyncFetchHelper = new AsyncFetchHelper(initSettings);

AsyncFetchHelper prototype Api

need(apiTypeList)

  • apiTypeList - ArrayList; api type (rest, soap, etc...)
need(['soap', 'rest'])

The method will return constructor of AsyncFetchHelper at follow.

then(callback)

  • callback - Function; The function "then" will apply the api type you need, and it must return an array that about the api request settings
then(function(rest, soap){
	return [rest(),soap()];
})

end(callback)

  • callback - Function; The function will get all api response using array
end(function(result){
	console.log(results);
	// [soapResult, restResult]
})

AsyncFetchHelper static Api

AsyncFetchHelper.register(apiType, handler)

  • apiType - String; Naming for handler

  • handler - Function; Other method for call api defined by user

    This method will add your handler to method options of need, so you can call your handler by need(['youApiTypeName'])

AsyncFetchHelper.setConnectionPool(settings)

  • settings - Object; Set http agent object here
{
	rest : { keepAlive: true, keepAliveMsecs: 600000 , maxSockets:5, maxFreeSockets: 5},
	soap : { keepAlive: true, keepAliveMsecs: 600000 , maxSockets:5, maxFreeSockets: 5}
}

AsyncFetchHelper methods by function need()

rest(method, url, params, returnKey, restCallback)

  • method - String; Request type (GET, PUT, POST, etc...)
  • url - String; api url
  • params - Object; Request params, if request type is get or delete, it will be query uri, or it will be request body
  • headers - Object; Optional; Request headers, ex: {"Content-Type":"application/x-www-form-urlencoded"}
  • returnKey - String; Optional; Return value of key at first level in Result
  • restCallback - Function; Optional; This function will get current request result, and it is like function then that must return an array that about the api request settings

soap(url, soapCallback)

  • url - String; api url

  • soapCallback - Function; This function will get soap client, and method wrapper

    method wrapper(params, returnKey, methodCallback)

    • params - Object; Optional; Request params
    • returnKey - String; Optional; Return value of key at first level in Result
    • restCallback - Function; Optional; This function will get current request result, and it is like function then that must return an array that about the api request settings

About

AsyncFetchHelper is wrapper for async that using unirest or soap to fetch data with less code.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%