gigya-node
Version:
Gigya SDK for NodeJS
61 lines • 2 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.httpRequest = exports.httpMethod = void 0;
var request = require("request");
var fs = require("fs");
var path = require("path");
var certificate;
var verboseHttpError = process.env['GIGYA_VERBOSE_HTTP_LOGGING'];
function getCertificate() {
if (!certificate) {
try {
certificate = fs.readFileSync(path.join(__dirname, '../../../assets/cacert.pem')).toString();
}
catch (e) {
log(e);
}
}
return certificate;
}
function log(msg) {
if (verboseHttpError) {
console.log(msg);
}
}
exports.httpMethod = 'post';
/**
* Make HTTP request to Gigya.
*/
exports.httpRequest = function (endpoint, host, requestParams, options) {
var start = Date.now();
return new Promise(function (resolve, reject) {
var uri = "https://" + host + "/" + endpoint;
request.post(uri, __assign({ method: exports.httpMethod, form: requestParams, ca: getCertificate() }, options), function (error, response, body) {
log("request to " + uri + " took " + (new Date().getTime() - start) / 1000 + " seconds");
if (error) {
log(error);
reject(error);
}
try {
resolve(JSON.parse(body));
}
catch (ex) {
log("failed to parse response body from request to " + uri + "\n" + body);
reject(ex);
}
});
});
};
exports.default = exports.httpRequest;
//# sourceMappingURL=default-http-request.js.map