UNPKG

ethstats-cli

Version:
73 lines (57 loc) 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _Http = _interopRequireDefault(require("./protocol/Http.js")); var _WebSocket = _interopRequireDefault(require("./protocol/WebSocket.js")); var _Error = _interopRequireDefault(require("./Error.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _default = function _default(diContainer) { var client = null; var getProtocol = function getProtocol(url) { return url.split('://')[0]; }; var url = diContainer.config.client.url; var protocol = getProtocol(url); var configStoreClient = diContainer.config.configStore.get('client'); if (configStoreClient) { if (configStoreClient.url) { url = configStoreClient.url; protocol = getProtocol(url); } if (configStoreClient.ipcPath) { url = configStoreClient.ipcPath; protocol = 'ipc'; } } if (diContainer.cli.flags.clientUrl) { url = diContainer.cli.flags.clientUrl; protocol = getProtocol(url); diContainer.config.configStore.set('client', { url: url }); } if (diContainer.cli.flags.clientIpcPath) { url = diContainer.cli.flags.clientIpcPath; protocol = 'ipc'; diContainer.config.configStore.set('client', { ipcPath: url }); } protocol = protocol === 'https' ? 'http' : protocol; protocol = protocol === 'wss' ? 'ws' : protocol; diContainer.logger.debug("Init \"".concat(protocol, "\" client protocol")); diContainer.clientErrorHandler = new _Error.default(protocol); if (protocol === 'http') { client = new _Http.default(diContainer); } else if (protocol === 'ws' || protocol === 'ipc') { client = new _WebSocket.default(diContainer); } else { diContainer.logger.error("Unknown protocol: \"".concat(protocol, "\""), false, true); } client.protocol = protocol; client.url = url; return client; }; exports.default = _default;