1.3.1 • Published 6 years ago

api-request-simple v1.3.1

Weekly downloads
23
License
ISC
Repository
github
Last release
6 years ago

api-request-simple

npm npm

This module wraps the request module for simple REST api interfacing with predetermined hosts

It is meant to be used in situations where you have a finite and predetermined set of hosts which you regularly interact with.

Example

In these cases

var hosts = require("/config/hosts.json")
var api = new (require("api-request-simple"))(hosts)

var data = {foo : "bar"}
api.get("host_name", "/request/path/", data)

replaces

var promise_request = require("require-promise");
var hosts = require("/config/hosts.json")
var data = {foo : "bar"}

// request queue id and trading id from api
var options = {
    method : 'GET',
    url: "http://" + hosts["host_name"] + "/request/path",
    json : true, // default to json
    qs : data, // convert "data" to qs
}
return promise_request(options);

and it particularly shines when you wish to use requests with client-certificates, where :

var hosts = require(process.env.root+"/config/hosts.json");
var fs = require('fs');
var client_cert = {
    cert : fs.readFileSync(process.env.root+'/config/workhorse.pem'),
    key : fs.readFileSync(process.env.root+'/config/workhorse.key'),
    ca : fs.readFileSync(process.env.root+'/config/ca.pem'),
}
var api = new (require("api-request-simple"))({hosts:hosts, client_cert : client_cert });

var data = {foo : "bar"}
api.get("host_name", "/request/path/", data);

replaces

var promise_request = require("require-promise");
var hosts = require(process.env.root+"/config/hosts.json");
var fs = require('fs');
var client_cert = {
    cert : fs.readFileSync(process.env.root+'/config/workhorse.pem'),
    key : fs.readFileSync(process.env.root+'/config/workhorse.key'),
    ca : fs.readFileSync(process.env.root+'/config/ca.pem'),
}

var options = {
    method : 'GET',
    url: "http://" + hosts["host_name"] + "/request/path",
    cert: client_cert.cert,
    key: client_cert.key,
    ca: client_cert.ca,
    qs : data, // convert "data" to qs
};
var promise_to_register = promise_request(options)
1.3.1

6 years ago

1.2.2

6 years ago

1.2.1

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago