UNPKG

@jovijovi/pedrojs-network-jsonrpc

Version:
48 lines 2.07 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.server = void 0; const pedrojs_common_1 = require("@jovijovi/pedrojs-common"); const promise_1 = __importDefault(require("jayson/promise")); const url_1 = require("url"); var server; (function (server) { function RunProxy(port, handler, provider, relayMethods, relayMethodPrefix) { const methods = { all: async function (params, callback) { callback(null, await handler.Callback(params)); }, relayReq: promise_1.default.Client.http(new url_1.URL(provider)), }; const app = new promise_1.default.Server(methods, { router: function (method, params) { pedrojs_common_1.log.RequestId().trace("JSON-RPC Method=%s, params=%s", method, params); if (relayMethods.includes(method)) { return methods['relayReq']; } else { for (let i = 0; i < relayMethodPrefix.length; i++) { if (method.startsWith(relayMethodPrefix[i])) { return methods['relayReq']; } } } return methods['all']; } }); const s = app.http().listen(port, () => { pedrojs_common_1.log.RequestId().info('The JSON-RPC-Proxy(%s) is running...', s.address()); }); } // Support proxy right now function Run(handler, provider, relayMethods, relayMethodPrefix) { const networkConf = pedrojs_common_1.config.GetYmlConfig().network; if (networkConf.jsonRpcProxy.enable) { RunProxy(networkConf.jsonRpcProxy.port, handler, provider, relayMethods, relayMethodPrefix); } } server.Run = Run; })(server = exports.server || (exports.server = {})); //# sourceMappingURL=server.js.map