relu-core
Version:
108 lines (99 loc) • 2.85 kB
JavaScript
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);
};