getHostIp: function (options) { var externalIp = "0.0.0.0"; // default if (options) { if (options.host) { return options.host; } if (options.detect === false) { return externalIp; } } return devIp.getIp(null) || externalIp; },
getHostIp: function (options) { var returnValue = devIp.getIp(null); if (options) { if (options.host && options.host !== "localhost") { return options.host; } if (options.detect === false || !devIp) { return false; } } if (Array.isArray(returnValue)) { returnValue = returnValue[0]; } return returnValue || false; },
getHostIp: function (options) { var fallback = "0.0.0.0"; var returnValue = devIp.getIp(null); if (options) { if (options.host) { return options.host; } if (options.detect === false || !devIp) { return fallback; } } if (Array.isArray(returnValue)) { returnValue = returnValue[0]; } return returnValue || fallback; },
startServices: function (args) { var ports = args.ports; var files = args.files; var options = args.options; var hostIp = this.getHostIp(options, devIp.getIp(null)); var ioLocal = this.setupSocket(ports); this.handleSocketConnection(this.ghostModeCallbacks, options, this.handleClientSocketEvent); fileWatcher.init(this.changeFile, this.log, files, ioLocal, options, this); // launch the server if (options.server || options.proxy) { this.initServer(hostIp, ports, options, ioLocal); } controlPanel.launchControlPanel(hostIp, ports, options, ioLocal); },
startServices: function (args) { var ports = args.ports; var files = args.files; var options = args.options; var msg; var ioLocal = this.setupSocket(ports); var callbacks = this.getSocketCallbacks(); var servers; options.host = this.getHostIp(options, devIp.getIp(null)); // register internal events this.registerEvents(emitter, options, ioLocal); // Handle socket connections this.handleSocketConnection(callbacks, options, this.handleClientSocketEvent); // Start file watcher fileWatcher.init(files, options, emitter); // launch the server/proxy if (options.server || options.proxy) { servers = this.initServer(options.host, ports, options, ioLocal); } else { msg = messages.init(options.host, ports); this.log(msg, options, true); } // Launch the control panel controlPanel.launchControlPanel(options.host, ports, options); // get/emit the api var bsApi = api.getApi(ports, options, servers); emitter.emit("init", bsApi); },