From ef0e5b98c2808440b8f0b88ae930c321979f0de1 Mon Sep 17 00:00:00 2001 From: Nicholas O'Leary Date: Fri, 4 Oct 2013 17:28:15 +0100 Subject: [PATCH] Allow flows file to be set in settings --- red.js | 2 ++ red/server.js | 20 +++++++++++--------- settings.js | 3 +++ 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/red.js b/red.js index 65f03ff35..5132feecb 100644 --- a/red.js +++ b/red.js @@ -48,6 +48,8 @@ if (settings.httpAuth) { ); } +settings.flowfile = process.argv[2] || settings.flowfile; + var red = RED.init(server,settings); app.use(settings.httpRoot,red); diff --git a/red/server.js b/red/server.js index 38b9b013d..3193759f7 100644 --- a/red/server.js +++ b/red/server.js @@ -18,9 +18,9 @@ var fs = require('fs'); var util = require('util'); var createUI = require("./ui"); var redNodes = require("./nodes"); -var host = require('os').hostname(); //TODO: relocated user dir -var rulesfile = process.argv[2] || 'flows_'+host+'.json'; + +var flowfile = ''; var app = null; var server = null; @@ -29,6 +29,8 @@ function createServer(_server,settings) { server = _server; app = createUI(settings); + flowfile = settings.flowfile || 'flows_'+require('os').hostname()+'.json'; + //TODO: relocated user dir fs.exists("lib/",function(exists) { if (!exists) { @@ -43,9 +45,9 @@ function createServer(_server,settings) { }); app.get("/flows",function(req,res) { - fs.exists(rulesfile, function (exists) { + fs.exists(flowfile, function (exists) { if (exists) { - res.sendfile(rulesfile); + res.sendfile(flowfile); } else { res.writeHead(200, {'Content-Type': 'text/plain'}); res.write("[]"); @@ -62,7 +64,7 @@ function createServer(_server,settings) { req.on('end', function() { res.writeHead(204, {'Content-Type': 'text/plain'}); res.end(); - fs.writeFile(rulesfile, fullBody, function(err) { + fs.writeFile(flowfile, fullBody, function(err) { if(err) { util.log(err); } else { @@ -87,14 +89,14 @@ function start() { util.log("------------------------------------------"); - fs.exists(rulesfile, function (exists) { + fs.exists(flowfile, function (exists) { if (exists) { - util.log("[red] Loading flows : "+rulesfile); - fs.readFile(rulesfile,'utf8',function(err,data) { + util.log("[red] Loading flows : "+flowfile); + fs.readFile(flowfile,'utf8',function(err,data) { redNodes.setConfig(JSON.parse(data)); }); } else { - util.log("[red] Flows file not found : "+rulesfile); + util.log("[red] Flows file not found : "+flowfile); } }); } diff --git a/settings.js b/settings.js index e3e76d4a3..39d0c4b74 100644 --- a/settings.js +++ b/settings.js @@ -19,6 +19,9 @@ module.exports = { serialReconnectTime: 15000, debugMaxLength: 1000, + // The file containing the flows. If not set, it defaults to flows_.json + //flowfile: 'flows.json' + // You can protect the user interface with a userid and password by using the following property // the password must be an md5 hash eg.. 5f4dcc3b5aa765d61d8327deb882cf99 ('password') //httpAuth: {user:"user",pass:"5f4dcc3b5aa765d61d8327deb882cf99"},