Changes between Version 1 and Version 2 of Genieacs


Ignore:
Timestamp:
Nov 4, 2019, 2:49:47 PM (4 years ago)
Author:
mirek@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Genieacs

    v1 v2  
    1 config/ext/portax.js:
    2 
    3 {{{
    4 const API_URL = 'https://portax.rionet.cz/api/genieacs';
    5 const url = require("url");
    6 const http = require(API_URL.split(":", 1)[0]);
    7 
    8 const logger = require('../../lib/logger');
    9 
    10 function portaxCallback(args, callback) {
    11 
    12   let params = JSON.parse(args[0]);
    13 
    14   const uri = API_URL + "/callback.pl?id=" + params.id + "&url=" + params.url + "&ip=" + params.ip;
    15 
    16   let options = url.parse(uri);
    17   options.headers = { accept: 'application/json', "content-type": 'application/json' };
    18 
    19   let request = http.get(options, function (response) {
    20 
    21     if (response.statusCode == 404) {
    22       return callback(null, null);
    23     }
    24 
    25     if (response.statusCode >= 400) {
    26       return callback(new Error("Unexpected error. Response Code: " +
    27       response.statusCode + '. Status Message: ' + response.statusMessage + '. t: ' + typeof response.statusCode));
    28     }
    29 
    30     response.on("end", function () {
    31       return callback(null,null);
    32     });
    33 
    34   });
    35 
    36   request.on("error", function (err) {
    37     callback(err);
    38   });
    39 
    40   callback(null);
    41 
    42 }
    43 
    44 function portaxGetConfig(args, callback) {
    45 
    46   let genieacsId = args[0];
    47   logger.info({message: 'fetch config', id: genieacsId});
    48 
    49   const uri = API_URL + "/get-config.pl?id=" + genieacsId;
    50 
    51   let options = url.parse(uri);
    52   options.headers = { accept: 'application/json', "content-type": 'application/json' };
    53 
    54   let request = http.get(options, function (response) {
    55     if (response.statusCode == 404) {
    56       return callback(null, null);
    57     }
    58 
    59     if (response.statusCode >= 400) {
    60       return callback(new Error("Unexpected error. Response Code: " +
    61       response.statusCode + '. Status Message: ' + response.statusMessage + '. t: ' + typeof response.statusCode));
    62     }
    63 
    64     let data = "";
    65 
    66     response.on("data", function(d) {
    67       data = data + d.toString();
    68     });
    69 
    70     response.on("end", function () {
    71       if(data == "") {
    72         return callback(null,null);
    73       }
    74       let result = JSON.parse(data);
    75       return callback(null,result);
    76     });
    77 
    78   });
    79 
    80   request.on("error", function (err) {
    81     callback(err);
    82   });
    83 }
    84 
    85 exports.portaxCallback = portaxCallback;
    86 exports.portaxGetConfig = portaxGetConfig;
    87 }}}
    88 
    89 Upravit lib/nbi.js - {{{ping}}}