UNPKG

@lskjs/uapp

Version:
99 lines (98 loc) 3.77 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; exports.fetch = fetch; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _env = require("@lskjs/env"); var _isAbsoluteExternalUrl = _interopRequireDefault(require("@lskjs/utils/isAbsoluteExternalUrl")); /* eslint-disable no-param-reassign */ function fetch() { return _fetch.apply(this, arguments); } function _fetch() { _fetch = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { var axios, authToken, _len, args, _key, rawUrl, _args$, options, port, url, _options$body, body, _options$method, method, _options$qs, qs, req, serverApp, webserver, _args = arguments; return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: // eslint-disable-next-line @typescript-eslint/no-this-alias axios = this.client; authToken = axios.authToken; for (_len = _args.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = _args[_key]; } rawUrl = args[0], _args$ = args[1], options = _args$ === void 0 ? {} : _args$; if (!((0, _isAbsoluteExternalUrl["default"])(rawUrl) || _env.isClient)) { _context.next = 6; break; } return _context.abrupt("return", this.request.apply(this, args)); case 6: // TODO: get port from backend // if (isClient) return axios.remoteFetch(...args); // TODO: сделать как-нибудь по нормальному и проверенно port = 8080; // this.app.app.httpInstance.address().port url = "http://localhost:".concat(port).concat(rawUrl); _options$body = options.body, body = _options$body === void 0 ? {} : _options$body, _options$method = options.method, method = _options$method === void 0 ? 'GET' : _options$method, _options$qs = options.qs, qs = _options$qs === void 0 ? {} : _options$qs; console.log('FETCH FETCH ', this.client.baseURL, this.client.defaults.baseURL, this.client); req = { url: url, path: [this.client && this.client.baseURL, rawUrl].filter(Boolean).join('/'), method: method, body: method === 'POST' ? body : qs, headers: authToken ? { authorization: "Bearer ".concat(authToken) } : {}, token: authToken }; if (this.debug) this.log.debug('[fetch]', method, url); // const serverApp = this.app; serverApp = this.app.app; // if (serverApp.name !== 'ReactAppServer') throw console.log('req', req); _context.next = 16; return serverApp.module('webserver'); case 16: webserver = _context.sent; _context.t0 = req; _context.next = 20; return webserver.expressResolve(req); case 20: _context.t1 = _context.sent; return _context.abrupt("return", { req: _context.t0, data: _context.t1 }); case 22: case "end": return _context.stop(); } }, _callee, this); })); return _fetch.apply(this, arguments); } var _default = fetch; exports["default"] = _default; //# sourceMappingURL=fetch.js.map