UNPKG

11 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4var _typeof = require("@babel/runtime/helpers/typeof");
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = exports.RequestWorker = void 0;
9var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
16var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
18var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19var _err = _interopRequireDefault(require("@lskjs/err"));
20var _createRequest = require("@lskjs/proxy/createRequest");
21var _ProxyManager = require("@lskjs/proxy/ProxyManager");
22var _isNetworkError = require("@lskjs/proxy/utils/isNetworkError");
23var _retry = _interopRequireDefault(require("@lskjs/utils/retry"));
24var _RabbitWorker2 = require("./RabbitWorker");
25var _excluded = ["err"];
26function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
31function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
32var RequestWorker = /*#__PURE__*/function (_RabbitWorker) {
33 (0, _inherits2["default"])(RequestWorker, _RabbitWorker);
34 var _super = _createSuper(RequestWorker);
35 function RequestWorker() {
36 var _this;
37 (0, _classCallCheck2["default"])(this, RequestWorker);
38 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
39 args[_key] = arguments[_key];
40 }
41 _this = _super.call.apply(_super, [this].concat(args));
42 _this.proxyManagerErrorProps = {
43 timeout: 10000,
44 redelivered: false
45 };
46 return _this;
47 }
48 (0, _createClass2["default"])(RequestWorker, [{
49 key: "getConfig",
50 value: function () {
51 var _getConfig = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
52 var _config$proxy;
53 var config, proxyUrl, proxyConfig, newConfig;
54 return _regenerator["default"].wrap(function _callee$(_context) {
55 while (1) switch (_context.prev = _context.next) {
56 case 0:
57 _context.next = 2;
58 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(RequestWorker.prototype), "getConfig", this).call(this);
59 case 2:
60 config = _context.sent;
61 proxyUrl = process.env.PROXY;
62 _context.next = 6;
63 return _ProxyManager.ProxyManager.parseProxyParam(proxyUrl);
64 case 6:
65 proxyConfig = _context.sent;
66 if (proxyConfig) {
67 _context.next = 9;
68 break;
69 }
70 return _context.abrupt("return", _objectSpread(_objectSpread({}, config), {}, {
71 proxy: _objectSpread(_objectSpread({}, (config === null || config === void 0 ? void 0 : config.proxy) || {}), {}, {
72 disabled: true
73 })
74 }));
75 case 9:
76 newConfig = _objectSpread(_objectSpread({}, config), {}, {
77 proxy: _objectSpread(_objectSpread(_objectSpread({}, (config === null || config === void 0 ? void 0 : config.proxy) || {}), proxyConfig || {}), {}, {
78 client: _objectSpread(_objectSpread({}, (config === null || config === void 0 ? void 0 : (_config$proxy = config.proxy) === null || _config$proxy === void 0 ? void 0 : _config$proxy.client) || {}), (proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.client) || {})
79 })
80 });
81 return _context.abrupt("return", newConfig);
82 case 11:
83 case "end":
84 return _context.stop();
85 }
86 }, _callee, this);
87 }));
88 function getConfig() {
89 return _getConfig.apply(this, arguments);
90 }
91 return getConfig;
92 }()
93 }, {
94 key: "getModules",
95 value: function getModules() {
96 return {
97 proxy: function proxy() {
98 return Promise.resolve().then(function () {
99 return _interopRequireWildcard(require('@lskjs/proxy/ProxyManager'));
100 });
101 }
102 };
103 }
104 // TODO: нейминг
105 }, {
106 key: "onProxyManagerError",
107 value: function () {
108 var _onProxyManagerError = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref) {
109 var initErr, props, message, isNetwork, errProps, err;
110 return _regenerator["default"].wrap(function _callee2$(_context2) {
111 while (1) switch (_context2.prev = _context2.next) {
112 case 0:
113 initErr = _ref.err, props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
114 message = 'PROXY_ERROR';
115 isNetwork = (0, _isNetworkError.isNetworkError)(initErr);
116 errProps = {};
117 if (isNetwork) {
118 message = 'PROXY_NETWORK';
119 errProps = _objectSpread(_objectSpread({
120 message: message,
121 subcode: _err["default"].getCode(initErr),
122 "class": 'network'
123 }, this.proxyManagerErrorProps || {}), props);
124 }
125 err = new _err["default"](message, initErr, errProps);
126 this.log.error('[onProxyManagerError]', err);
127 throw _retry["default"].StopError(err);
128 case 8:
129 case "end":
130 return _context2.stop();
131 }
132 }, _callee2, this);
133 }));
134 function onProxyManagerError(_x) {
135 return _onProxyManagerError.apply(this, arguments);
136 }
137 return onProxyManagerError;
138 }()
139 }, {
140 key: "init",
141 value: function () {
142 var _init = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
143 var proxyManager, apm, log;
144 return _regenerator["default"].wrap(function _callee3$(_context3) {
145 while (1) switch (_context3.prev = _context3.next) {
146 case 0:
147 _context3.next = 2;
148 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(RequestWorker.prototype), "init", this).call(this);
149 case 2:
150 if (!this.hasModule('proxy')) {
151 _context3.next = 6;
152 break;
153 }
154 _context3.next = 5;
155 return this.module('proxy', {
156 "throw": false
157 });
158 case 5:
159 proxyManager = _context3.sent;
160 case 6:
161 if (!this.app.hasModule('apm')) {
162 _context3.next = 10;
163 break;
164 }
165 _context3.next = 9;
166 return this.app.module('apm', {
167 "throw": false
168 });
169 case 9:
170 apm = _context3.sent;
171 case 10:
172 if (this.debug) log = this.log;
173 this.request = (0, _createRequest.createRequest)({
174 proxyManager: proxyManager,
175 apm: apm,
176 log: log,
177 onProxyManagerError: this.onProxyManagerError && this.onProxyManagerError.bind(this)
178 });
179 case 12:
180 case "end":
181 return _context3.stop();
182 }
183 }, _callee3, this);
184 }));
185 function init() {
186 return _init.apply(this, arguments);
187 }
188 return init;
189 }()
190 }]);
191 return RequestWorker;
192}(_RabbitWorker2.RabbitWorker);
193exports.RequestWorker = RequestWorker;
194var _default = RequestWorker;
195exports["default"] = _default;
196//# sourceMappingURL=RequestWorker.js.map
\No newline at end of file