UNPKG

@lskjs/server

Version:

LSK server.

148 lines (120 loc) 12.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = _default; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _http = _interopRequireDefault(require("http")); var _nodeVersion = _interopRequireDefault(require("@lskjs/utils/nodeVersion")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var DEBUG = __STAGE__ === 'isuvorov'; function _default() { return _ref.apply(this, arguments); } function _ref() { _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { var params, express, _params$host, host, url, _params$headers, _headers, body, query, remoteAddress, headers, req, data, _args = arguments; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: params = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}; // eslint-disable-next-line no-console if (DEBUG) console.log('ServerApp.resolve', Object.keys(params)); express = this.express || this.app; if (express) { _context.next = 5; break; } throw '!express'; case 5: _params$host = params.host, host = _params$host === void 0 ? '' : _params$host, url = params.url, _params$headers = params.headers, _headers = _params$headers === void 0 ? {} : _params$headers; body = params.data || params.body || {}; query = params.query || params.params || {}; remoteAddress = '127.0.0.1'; headers = _objectSpread({ host: host }, _headers); req = _objectSpread(_objectSpread({}, params), {}, { // query, url: url, _direct: true, method: 'GET', headers: headers, connection: { remoteAddress: remoteAddress }, socket: { socket: { remoteAddress: remoteAddress } }, body: body }); _context.next = 13; return new Promise(function (resolve, reject) { var res = Object.create(_http["default"].ServerResponse.prototype); res.send = function (data) { //eslint-disable-line if (DEBUG) console.log('express.resolve.send', Object.keys(data)); // eslint-disable-line no-console if (res.statusCode >= 400) { reject(data); } else { resolve(data); } // console.log('statusCode', res.statusCode); }; if ((0, _nodeVersion["default"])() >= 9) { var x = new _http["default"].OutgoingMessage(); var symbols = Object.getOwnPropertySymbols(x); var outHeadersKey = symbols.find(function (item) { return item.toString() === 'Symbol(outHeadersKey)'; }); if (outHeadersKey) { res[outHeadersKey] = headers; } var kOutHeaders = symbols.find(function (item) { return item.toString() === 'Symbol(kOutHeaders)'; }); if (kOutHeaders) { res[kOutHeaders] = headers; } } // if (DEBUG) console.log('express.resolve', req); // eslint-disable-line no-console express.handle(req, res); }); case 13: data = _context.sent; _context.prev = 14; return _context.abrupt("return", JSON.parse(data)); case 18: _context.prev = 18; _context.t0 = _context["catch"](14); this.log.error('ctx.resolve err', _context.t0); return _context.abrupt("return", data); case 22: case "end": return _context.stop(); } } }, _callee, this, [[14, 18]]); })); return _ref.apply(this, arguments); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRob2RzL2V4cHJlc3NSZXNvbHZlLmpzIl0sIm5hbWVzIjpbIkRFQlVHIiwiX19TVEFHRV9fIiwicGFyYW1zIiwiY29uc29sZSIsImxvZyIsIk9iamVjdCIsImtleXMiLCJleHByZXNzIiwiYXBwIiwiaG9zdCIsInVybCIsImhlYWRlcnMiLCJfaGVhZGVycyIsImJvZHkiLCJkYXRhIiwicXVlcnkiLCJyZW1vdGVBZGRyZXNzIiwicmVxIiwiX2RpcmVjdCIsIm1ldGhvZCIsImNvbm5lY3Rpb24iLCJzb2NrZXQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInJlcyIsImNyZWF0ZSIsImh0dHAiLCJTZXJ2ZXJSZXNwb25zZSIsInByb3RvdHlwZSIsInNlbmQiLCJzdGF0dXNDb2RlIiwieCIsIk91dGdvaW5nTWVzc2FnZSIsInN5bWJvbHMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvdXRIZWFkZXJzS2V5IiwiZmluZCIsIml0ZW0iLCJ0b1N0cmluZyIsImtPdXRIZWFkZXJzIiwiaGFuZGxlIiwiSlNPTiIsInBhcnNlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxLQUFLLEdBQUdDLFNBQVMsS0FBSyxVQUE1Qjs7Ozs7Ozt1RkFFZTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0JDLFlBQUFBLE1BQWhCLDJEQUF5QixFQUF6QjtBQUNiO0FBQ0EsZ0JBQUlGLEtBQUosRUFBV0csT0FBTyxDQUFDQyxHQUFSLENBQVksbUJBQVosRUFBaUNDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZSixNQUFaLENBQWpDO0FBQ0xLLFlBQUFBLE9BSE8sR0FHRyxLQUFLQSxPQUFMLElBQWdCLEtBQUtDLEdBSHhCOztBQUFBLGdCQUlSRCxPQUpRO0FBQUE7QUFBQTtBQUFBOztBQUFBLGtCQUlPLFVBSlA7O0FBQUE7QUFBQSwyQkFXVEwsTUFYUyxDQU9YTyxJQVBXLEVBT1hBLElBUFcsNkJBT0osRUFQSSxpQkFRWEMsR0FSVyxHQVdUUixNQVhTLENBUVhRLEdBUlcsb0JBV1RSLE1BWFMsQ0FVWFMsT0FWVyxFQVVGQyxRQVZFLGdDQVVTLEVBVlQ7QUFZUEMsWUFBQUEsSUFaTyxHQVlBWCxNQUFNLENBQUNZLElBQVAsSUFBZVosTUFBTSxDQUFDVyxJQUF0QixJQUE4QixFQVo5QjtBQWFQRSxZQUFBQSxLQWJPLEdBYUNiLE1BQU0sQ0FBQ2EsS0FBUCxJQUFnQmIsTUFBTSxDQUFDQSxNQUF2QixJQUFpQyxFQWJsQztBQWVQYyxZQUFBQSxhQWZPLEdBZVMsV0FmVDtBQWdCUEwsWUFBQUEsT0FoQk87QUFpQlhGLGNBQUFBLElBQUksRUFBSkE7QUFqQlcsZUFrQlJHLFFBbEJRO0FBb0JQSyxZQUFBQSxHQXBCTyxtQ0FxQlJmLE1BckJRO0FBc0JYO0FBQ0FRLGNBQUFBLEdBQUcsRUFBSEEsR0F2Qlc7QUF3QlhRLGNBQUFBLE9BQU8sRUFBRSxJQXhCRTtBQXlCWEMsY0FBQUEsTUFBTSxFQUFFLEtBekJHO0FBMEJYUixjQUFBQSxPQUFPLEVBQVBBLE9BMUJXO0FBMkJYUyxjQUFBQSxVQUFVLEVBQUU7QUFDVkosZ0JBQUFBLGFBQWEsRUFBYkE7QUFEVSxlQTNCRDtBQThCWEssY0FBQUEsTUFBTSxFQUFFO0FBQ05BLGdCQUFBQSxNQUFNLEVBQUU7QUFDTkwsa0JBQUFBLGFBQWEsRUFBYkE7QUFETTtBQURGLGVBOUJHO0FBbUNYSCxjQUFBQSxJQUFJLEVBQUpBO0FBbkNXO0FBQUE7QUFBQSxtQkFxQ00sSUFBSVMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUNsRCxrQkFBTUMsR0FBRyxHQUFHcEIsTUFBTSxDQUFDcUIsTUFBUCxDQUFjQyxpQkFBS0MsY0FBTCxDQUFvQkMsU0FBbEMsQ0FBWjs7QUFDQUosY0FBQUEsR0FBRyxDQUFDSyxJQUFKLEdBQVcsVUFBU2hCLElBQVQsRUFBZTtBQUFFO0FBQzFCLG9CQUFJZCxLQUFKLEVBQVdHLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLHNCQUFaLEVBQW9DQyxNQUFNLENBQUNDLElBQVAsQ0FBWVEsSUFBWixDQUFwQyxFQURhLENBQzJDOztBQUNuRSxvQkFBSVcsR0FBRyxDQUFDTSxVQUFKLElBQWtCLEdBQXRCLEVBQTJCO0FBQ3pCUCxrQkFBQUEsTUFBTSxDQUFDVixJQUFELENBQU47QUFDRCxpQkFGRCxNQUVPO0FBQ0xTLGtCQUFBQSxPQUFPLENBQUNULElBQUQsQ0FBUDtBQUNELGlCQU51QixDQU94Qjs7QUFDRCxlQVJEOztBQVVBLGtCQUFJLGtDQUFnQixDQUFwQixFQUF1QjtBQUNyQixvQkFBTWtCLENBQUMsR0FBRyxJQUFJTCxpQkFBS00sZUFBVCxFQUFWO0FBQ0Esb0JBQU1DLE9BQU8sR0FBRzdCLE1BQU0sQ0FBQzhCLHFCQUFQLENBQTZCSCxDQUE3QixDQUFoQjtBQUNBLG9CQUFNSSxhQUFhLEdBQUdGLE9BQU8sQ0FBQ0csSUFBUixDQUFhLFVBQUNDLElBQUQ7QUFBQSx5QkFBVUEsSUFBSSxDQUFDQyxRQUFMLE9BQW9CLHVCQUE5QjtBQUFBLGlCQUFiLENBQXRCOztBQUNBLG9CQUFJSCxhQUFKLEVBQW1CO0FBQ2pCWCxrQkFBQUEsR0FBRyxDQUFDVyxhQUFELENBQUgsR0FBcUJ6QixPQUFyQjtBQUNEOztBQUNELG9CQUFNNkIsV0FBVyxHQUFHTixPQUFPLENBQUNHLElBQVIsQ0FBYSxVQUFDQyxJQUFEO0FBQUEseUJBQVVBLElBQUksQ0FBQ0MsUUFBTCxPQUFvQixxQkFBOUI7QUFBQSxpQkFBYixDQUFwQjs7QUFDQSxvQkFBSUMsV0FBSixFQUFpQjtBQUNmZixrQkFBQUEsR0FBRyxDQUFDZSxXQUFELENBQUgsR0FBbUI3QixPQUFuQjtBQUNEO0FBQ0YsZUF2QmlELENBd0JsRDs7O0FBQ0FKLGNBQUFBLE9BQU8sQ0FBQ2tDLE1BQVIsQ0FBZXhCLEdBQWYsRUFBb0JRLEdBQXBCO0FBQ0QsYUExQmtCLENBckNOOztBQUFBO0FBcUNQWCxZQUFBQSxJQXJDTztBQUFBO0FBQUEsNkNBa0VKNEIsSUFBSSxDQUFDQyxLQUFMLENBQVc3QixJQUFYLENBbEVJOztBQUFBO0FBQUE7QUFBQTtBQW9FWCxpQkFBS1YsR0FBTCxDQUFTd0MsS0FBVCxDQUFlLGlCQUFmO0FBcEVXLDZDQXFFSjlCLElBckVJOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaHR0cCBmcm9tICdodHRwJztcbmltcG9ydCBub2RlVmVzaW9uIGZyb20gJ0Bsc2tqcy91dGlscy9ub2RlVmVyc2lvbic7XG5cbmNvbnN0IERFQlVHID0gX19TVEFHRV9fID09PSAnaXN1dm9yb3YnO1xuXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiAocGFyYW1zID0ge30pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgaWYgKERFQlVHKSBjb25zb2xlLmxvZygnU2VydmVyQXBwLnJlc29sdmUnLCBPYmplY3Qua2V5cyhwYXJhbXMpKTtcbiAgY29uc3QgZXhwcmVzcyA9IHRoaXMuZXhwcmVzcyB8fCB0aGlzLmFwcDtcbiAgaWYgKCFleHByZXNzKSB0aHJvdyAnIWV4cHJlc3MnO1xuXG4gIGNvbnN0IHtcbiAgICBob3N0ID0gJycsIC8vID9cbiAgICB1cmwsXG4gICAgLy8gYm9keSA9IHt9LFxuICAgIGhlYWRlcnM6IF9oZWFkZXJzID0ge30sXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGJvZHkgPSBwYXJhbXMuZGF0YSB8fCBwYXJhbXMuYm9keSB8fCB7fTtcbiAgY29uc3QgcXVlcnkgPSBwYXJhbXMucXVlcnkgfHwgcGFyYW1zLnBhcmFtcyB8fCB7fTtcblxuICBjb25zdCByZW1vdGVBZGRyZXNzID0gJzEyNy4wLjAuMSc7XG4gIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgaG9zdCxcbiAgICAuLi5faGVhZGVycyxcbiAgfTtcbiAgY29uc3QgcmVxID0ge1xuICAgIC4uLnBhcmFtcyxcbiAgICAvLyBxdWVyeSxcbiAgICB1cmwsXG4gICAgX2RpcmVjdDogdHJ1ZSxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICAgIGhlYWRlcnMsXG4gICAgY29ubmVjdGlvbjoge1xuICAgICAgcmVtb3RlQWRkcmVzcyxcbiAgICB9LFxuICAgIHNvY2tldDoge1xuICAgICAgc29ja2V0OiB7XG4gICAgICAgIHJlbW90ZUFkZHJlc3MsXG4gICAgICB9LFxuICAgIH0sXG4gICAgYm9keSxcbiAgfTtcbiAgY29uc3QgZGF0YSA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCByZXMgPSBPYmplY3QuY3JlYXRlKGh0dHAuU2VydmVyUmVzcG9uc2UucHJvdG90eXBlKTtcbiAgICByZXMuc2VuZCA9IGZ1bmN0aW9uKGRhdGEpIHsgLy9lc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICBpZiAoREVCVUcpIGNvbnNvbGUubG9nKCdleHByZXNzLnJlc29sdmUuc2VuZCcsIE9iamVjdC5rZXlzKGRhdGEpKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPj0gNDAwKSB7XG4gICAgICAgIHJlamVjdChkYXRhKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICB9XG4gICAgICAvLyBjb25zb2xlLmxvZygnc3RhdHVzQ29kZScsIHJlcy5zdGF0dXNDb2RlKTtcbiAgICB9O1xuXG4gICAgaWYgKG5vZGVWZXNpb24oKSA+PSA5KSB7XG4gICAgICBjb25zdCB4ID0gbmV3IGh0dHAuT3V0Z29pbmdNZXNzYWdlKCk7XG4gICAgICBjb25zdCBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh4KTtcbiAgICAgIGNvbnN0IG91dEhlYWRlcnNLZXkgPSBzeW1ib2xzLmZpbmQoKGl0ZW0pID0+IGl0ZW0udG9TdHJpbmcoKSA9PT0gJ1N5bWJvbChvdXRIZWFkZXJzS2V5KScpO1xuICAgICAgaWYgKG91dEhlYWRlcnNLZXkpIHtcbiAgICAgICAgcmVzW291dEhlYWRlcnNLZXldID0gaGVhZGVycztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGtPdXRIZWFkZXJzID0gc3ltYm9scy5maW5kKChpdGVtKSA9PiBpdGVtLnRvU3RyaW5nKCkgPT09ICdTeW1ib2woa091dEhlYWRlcnMpJyk7XG4gICAgICBpZiAoa091dEhlYWRlcnMpIHtcbiAgICAgICAgcmVzW2tPdXRIZWFkZXJzXSA9IGhlYWRlcnM7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGlmIChERUJVRykgY29uc29sZS5sb2coJ2V4cHJlc3MucmVzb2x2ZScsIHJlcSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29uc29sZVxuICAgIGV4cHJlc3MuaGFuZGxlKHJlcSwgcmVzKTtcbiAgfSk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgdGhpcy5sb2cuZXJyb3IoJ2N0eC5yZXNvbHZlIGVycicsIGVycik7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbn1cbiJdfQ== //# sourceMappingURL=expressResolve.js.map