UNPKG

relu-core

Version:
108 lines (99 loc) 2.85 kB
var http = require('http'); var https = require('https'); var request = require('../../modules/request'); var deasync = require('../../modules/deasync'); module.exports.HttpRequest = function(host, path) { var results = Http(host, path); return reults; } function Http(host, path, method, key) { var body; http.request({ host: host, path: path, method: method, headers: { 'Content-Type': 'application/json', 'Ocp-Apim-Subscription-Key': key } }, function(res) { var i; var d = ''; res.on('data', function(chunk) { d += chunk; }) res.on('end', function() { body = JSON.parse(d); }) } ).end(); while (!body) { deasync.sleep(50); } return (body); } module.exports.HttpsRequest = function(link) { var results = Https(link); return results; } function Https(host, path, method, key) { var body; var options = { host: host, path: path, method: method, headers: { 'Content-Type': 'application/json', 'Ocp-Apim-Subscription-Key': key } }; https.request(options, function(res) { var i; var d = ''; res.on('data', function(chunk) { d += chunk; }) res.on('end', function() { body = JSON.parse(d); }) }).end(); while (!body) { deasync.sleep(50); } return body; } module.exports.Request = function(linkObject, method, linkAPI, key) { var results = Req(linkObject, method, linkAPI, key); return results; } function Req(linkObject, method, linkAPI, key) { request({ //metodo da usare per la richiesta method: method, //link API usate url: linkAPI, //Header richiesti dalle API headers: { //Tipo di risposta dalla richiesta. JSON in questo caso 'Content-Type': 'application/json', //Apikey ottenuta dalla creazione dell'account 'Ocp-Apim-Subscription-Key': key }, //Trasformazione in stringa della risposta body: JSON.stringify({ //url dell'oggetto che deve essere analizzato url: linkObject }) }, function(err, res, body) { if (!err) { //parse della risposta in json this.parsed = JSON.parse(body); } }) while (!this.parsed) { deasync.sleep(50); } return (this.parsed); };