From d413afbbf52cb3da583806bcd9ee8ab146021002 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Wed, 26 Oct 2016 09:55:39 -0700 Subject: [PATCH] rpc: add setloglevel and restartsync. --- lib/http/rpc.js | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/lib/http/rpc.js b/lib/http/rpc.js index 02026f17..5cb9ca21 100644 --- a/lib/http/rpc.js +++ b/lib/http/rpc.js @@ -29,6 +29,7 @@ var Outpoint = require('../primitives/outpoint'); var Output = require('../primitives/output'); var BufferReader = require('../utils/reader'); var TX = require('../primitives/tx'); +var Logger = require('../node/logger'); var EventEmitter = require('events').EventEmitter; var fs; @@ -301,6 +302,10 @@ RPC.prototype.execute = function execute(json) { return this.getmemory(json.params); case 'selectwallet': return this.selectwallet(json.params); + case 'setloglevel': + return this.setloglevel(json.params); + case 'restartsync': + return this.restartsync(json.params); default: return Promise.reject(new Error('Method not found: ' + json.method + '.')); @@ -4093,7 +4098,7 @@ RPC.prototype.selectwallet = co(function* selectwallet(args) { var id, wallet; if (args.help || args.length !== 1) - return Promise.reject(new RPCError('selectwallet "id"')); + throw new RPCError('selectwallet "id"'); id = toString(args[0]); wallet = yield this.walletdb.get(id); @@ -4102,8 +4107,38 @@ RPC.prototype.selectwallet = co(function* selectwallet(args) { throw new RPCError('Wallet not found.'); this.wallet = wallet; + + return null; }); +RPC.prototype.setloglevel = function setloglevel(args) { + var name, level; + + if (args.help || args.length !== 1) + return Promise.reject(new RPCError('setloglevel "level"')); + + name = toString(args[0]); + level = Logger.levels[name]; + + if (level == null) + return Promise.reject(new RPCError('Bad log level.')); + + this.logger.level = level; + + return null; +}; + +RPC.prototype.restartsync = function restartsync(args) { + if (args.help || args.length !== 0) + return Promise.reject(new RPCError('restartsync')); + + this.pool.stopSync(); + this.chain.synced = false; + this.pool.startSync(); + + return null; +}; + /* * Helpers */