aboutsummaryrefslogtreecommitdiff
path: root/api/routes/getRemoteNodeInfo/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'api/routes/getRemoteNodeInfo/index.js')
-rw-r--r--api/routes/getRemoteNodeInfo/index.js11
1 files changed, 5 insertions, 6 deletions
diff --git a/api/routes/getRemoteNodeInfo/index.js b/api/routes/getRemoteNodeInfo/index.js
index 6cfff4b..4b766c0 100644
--- a/api/routes/getRemoteNodeInfo/index.js
+++ b/api/routes/getRemoteNodeInfo/index.js
@@ -6,8 +6,10 @@
const { spawn } = require('child_process');
const config = require("../../config.js");
+const checkIfAllowedIP = require('../../lib/checkIfAllowedIP/index.js');
-module.exports = (req, res) => {
+function getRemoteNodeInfo(req, res)
+{
var args = req.url.split("/");
var ip = "";
if ( args.length === 4 )
@@ -15,22 +17,19 @@ module.exports = (req, res) => {
ip = args[3];
}
var test = /^fc[0-9a-z]{1,2}:([0-9a-z]{1,4}:){1,6}[0-9a-z]{1,4}/
- if (test.test(ip))
+ if (checkIfAllowedIP(ip))
{
const command = spawn("curl", ["--retry-max-time","3","-s",`http://[${ip}]:8610/v0/node_info`]);
var buffer = "";
command.stdout.on("data", data => {
buffer = buffer + data;
});
-
command.stderr.on("data", data => {
console.log(`stderr: ${data}`);
});
-
command.on('error', (error) => {
console.log(`error: ${error.message}`);
});
-
command.on("close", code => {
res.writeHead(200, { 'Content-Type': 'application/json'});
res.end(buffer);
@@ -43,4 +42,4 @@ module.exports = (req, res) => {
res.end(JSON.stringify({error:"No IP"}));
}
}
-
+module.exports = getRemoteNodeInfo;