make webService into a real service

This commit is contained in:
Patrick Nagurny 2015-08-31 13:05:46 -04:00
parent 1b5f30a9a1
commit f1cac3da1d
5 changed files with 9 additions and 9 deletions

View File

@ -10,7 +10,6 @@ var index = require('./');
var log = index.log; var log = index.log;
var Bus = require('./bus'); var Bus = require('./bus');
var BaseService = require('./service'); var BaseService = require('./service');
var WebService = require('./web');
var errors = require('./errors'); var errors = require('./errors');
function Node(config) { function Node(config) {
@ -32,6 +31,7 @@ function Node(config) {
$.checkState(config.datadir, 'Node config expects "datadir"'); $.checkState(config.datadir, 'Node config expects "datadir"');
this.datadir = config.datadir; this.datadir = config.datadir;
this.port = config.port;
this._setNetwork(config); this._setNetwork(config);

View File

@ -13,7 +13,7 @@ function getDefaultConfig() {
datadir: process.env.BITCORENODE_DIR || path.resolve(process.env.HOME, '.bitcoin'), datadir: process.env.BITCORENODE_DIR || path.resolve(process.env.HOME, '.bitcoin'),
network: process.env.BITCORENODE_NETWORK || 'livenet', network: process.env.BITCORENODE_NETWORK || 'livenet',
port: process.env.BITCORENODE_PORT || 3001, port: process.env.BITCORENODE_PORT || 3001,
services: ['bitcoind', 'db', 'address'] services: ['bitcoind', 'db', 'address', 'web']
} }
}; };
} }

View File

@ -658,7 +658,7 @@ DB.prototype.sync = function() {
self.bitcoindSyncing = false; self.bitcoindSyncing = false;
self.lastSavedMetadataThreshold = 0; self.lastSavedMetadataThreshold = 0;
self.chain.saveMetadata(); self.saveMetadata();
// If bitcoind is completely synced // If bitcoind is completely synced
if (self.node.services.bitcoind.isSynced()) { if (self.node.services.bitcoind.isSynced()) {

View File

@ -8,10 +8,10 @@ var socketio = require('socket.io');
var WebService = function(options) { var WebService = function(options) {
var self = this; var self = this;
this.node = options.node; this.node = options.node;
this.port = options.port || 3456; this.port = options.port || this.node.port || 3456;
this.node.on('ready', function() { this.node.on('ready', function() {
self.setupRoutes(); self.setupAllRoutes();
self.server.listen(self.port); self.server.listen(self.port);
self.createMethodsMap(); self.createMethodsMap();
}); });
@ -42,7 +42,7 @@ WebService.prototype.stop = function(callback) {
}) })
}; };
WebService.prototype.setupRoutes = function() { WebService.prototype.setupAllRoutes = function() {
for(var key in this.node.modules) { for(var key in this.node.modules) {
this.node.modules[key].setupRoutes(this.app); this.node.modules[key].setupRoutes(this.app);
} }

View File

@ -2,7 +2,7 @@
var should = require('chai').should(); var should = require('chai').should();
var sinon = require('sinon'); var sinon = require('sinon');
var WebService = require('../lib/web'); var WebService = require('../../lib/services/web');
var EventEmitter = require('events').EventEmitter; var EventEmitter = require('events').EventEmitter;
describe('WebService', function() { describe('WebService', function() {
@ -33,7 +33,7 @@ describe('WebService', function() {
}); });
}); });
describe('#setupRoutes', function() { describe('#setupAllRoutes', function() {
it('should call setupRoutes on each module', function() { it('should call setupRoutes on each module', function() {
var node = { var node = {
on: sinon.spy(), on: sinon.spy(),
@ -49,7 +49,7 @@ describe('WebService', function() {
var web = new WebService({node: node}); var web = new WebService({node: node});
web.setupRoutes(); web.setupAllRoutes();
node.modules.one.setupRoutes.callCount.should.equal(1); node.modules.one.setupRoutes.callCount.should.equal(1);
node.modules.two.setupRoutes.callCount.should.equal(1); node.modules.two.setupRoutes.callCount.should.equal(1);
}); });