Skip to content

Instantly share code, notes, and snippets.

@akcoder
Created October 16, 2019 17:41
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save akcoder/88cb85410f971bc322a69dff0e632d31 to your computer and use it in GitHub Desktop.
Save akcoder/88cb85410f971bc322a69dff0e632d31 to your computer and use it in GitHub Desktop.
GenieACS CPE-Config extension
//"use strict";
const process = require("process");
const API_URL = process.env.API_URL || 'https://URL_TO_YOUR_API_SERVER/';
const url = require("url");
const http = require(API_URL.split(":", 1)[0]);
function portForwards(args, callback) {
let params = JSON.parse(args[0]);
const uri = API_URL + "PortForwards?serial=" + params.serial + '&productClass=' + params.productClass + '&oui=' + params.oui;
console.log({ uri: uri, serial: params.serial });
let options = url.parse(uri);
options.headers = {
accept: 'application/json',
"content-type": 'application/json'
};
let request = http.get(options, function (response) {
if (response.statusCode >= 400) {
return callback(new Error("Unexpected error getting port forwards. Response Code: " + response.statusCode + '. Status Message: ' + response.statusMessage + '. URI: ' + uri));
}
let data = "";
response.on("data", function (d) {
data = data + d.toString();
});
response.on("end", function () {
let result = JSON.parse(data);
console.log('Port Forwards: ' + data, { serial: params.serial });
return callback(null, result);
});
});
request.on("error", function (err) {
console.log('args');
console.log(arguments);
callback(err);
});
}
exports.portForwards = portForwards;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment