Skip to content
Snippets Groups Projects
Select Git revision
  • 45cc50e669f501dc99c6a22da721b5651b66a1e8
  • master default protected
  • Vivakvo/cesium-patch-8
  • issue_4
  • issue_780
  • gitlab_migration_1
  • dev
  • rml8
  • v1.4.3
  • v1.4.1
  • v1.4.0
  • v1.3.11
  • v1.3.10
  • v1.3.9
  • v1.3.8
  • v1.3.7
  • v1.3.6
  • v1.3.5
  • v1.3.4
  • v1.3.3
  • v1.3.2
  • v1.3.1
  • v1.3.0
  • v1.2.10
  • v1.2.9
  • v1.2.8
  • v1.2.7
  • v1.2.6
28 results

config.js

Blame
  • Forked from clients / Cesium-grp / Cesium
    Source project has a limited visibility.
    server.js 13.11 KiB
    "use strict";
    var stream      = require('stream');
    var async       = require('async');
    var util        = require('util');
    var co          = require('co');
    var _           = require('underscore');
    var Q           = require('q');
    var parsers     = require('./app/lib/streams/parsers/doc');
    var constants   = require('./app/lib/constants');
    var fileDAL     = require('./app/lib/dal/fileDAL');
    var jsonpckg    = require('./package.json');
    var router      = require('./app/lib/streams/router');
    var multicaster = require('./app/lib/streams/multicaster');
    var base58      = require('./app/lib/base58');
    var crypto      = require('./app/lib/crypto');
    var Peer        = require('./app/lib/entity/peer');
    var signature   = require('./app/lib/signature');
    var common      = require('./app/lib/common');
    var directory   = require('./app/lib/directory');
    var INNER_WRITE = true;
    
    // Add methods to String and Date
    common.shim();
    
    function Server (dbConf, overrideConf) {
    
      stream.Duplex.call(this, { objectMode: true });
    
      let home = directory.getHome(dbConf.name, dbConf.home);
      var logger = require('./app/lib/logger')('server');
      var that = this;
      var connectionPromise, servicesPromise;
      that.conf = null;
      that.dal = null;
      that.version = jsonpckg.version;
    
      var documentsMapping = {};
    
      // Unused, but made mandatory by Duplex interface
      this._read = function () {
      };
    
      this._write = function (obj, enc, writeDone, isInnerWrite) {
        that.submit(obj, isInnerWrite, function (err, res) {
          if (isInnerWrite) {
            writeDone(err, res);
          } else {
            writeDone();
          }
        });
      };
    
      this.connectDB = function (useDefaultConf) {
        // Connect only once
        return connectionPromise || (connectionPromise = that.connect(useDefaultConf));
      };
    
      this.initWithServices = function (done) {
        // Init services only once
        return servicesPromise || (servicesPromise = that.connectDB()
            .then(that.initServices)
            .then(function(err) {
              done && done(err);
              return that;
            })
            .catch(done));
      };
    
      this.submit = function (obj, isInnerWrite, done) {
        return co(function *() {