@monterosa/sdk-enmasse-kit 0.18.8 → 0.18.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm2017.js +360 -664
- package/dist/index.esm2017.js.map +1 -1
- package/dist/index.esm5.js +411 -741
- package/dist/index.esm5.js.map +1 -1
- package/package.json +5 -5
package/dist/index.esm5.js
CHANGED
|
@@ -7,11 +7,11 @@ import { getParentApplication } from '@monterosa/sdk-launcher-kit';
|
|
|
7
7
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
8
8
|
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
9
9
|
import _createClass from '@babel/runtime/helpers/createClass';
|
|
10
|
-
import _inherits from '@babel/runtime/helpers/inherits';
|
|
11
10
|
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
12
11
|
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
12
|
+
import _inherits from '@babel/runtime/helpers/inherits';
|
|
13
13
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
14
|
-
import
|
|
14
|
+
import '@babel/runtime/helpers/readOnlyError';
|
|
15
15
|
|
|
16
16
|
var ARG_OVERRIDE_METHODS = 'enmasse_override_methods';
|
|
17
17
|
var ARG_DEBUG = 'enmasse_debug';
|
|
@@ -27,103 +27,88 @@ var SSCP_KLASS_LOGIN = 'login';
|
|
|
27
27
|
var SSCP_KLASS_LOGIN_OK = 'login_ok';
|
|
28
28
|
var SSCP_KLASS_LOGIN_FAIL = 'login_fail';
|
|
29
29
|
var SSCP_KLASS_COUNTER = 'counter';
|
|
30
|
-
|
|
31
30
|
var getSettingFor = function getSettingFor(name) {
|
|
32
31
|
if (checkAvailability()) {
|
|
33
32
|
var value = getItem(name);
|
|
34
|
-
|
|
35
33
|
if (value !== null) {
|
|
36
34
|
return value;
|
|
37
35
|
}
|
|
38
|
-
}
|
|
39
|
-
// available, such as during server - side rendering in a framework like Next.js
|
|
40
|
-
|
|
36
|
+
}
|
|
41
37
|
|
|
38
|
+
// Guarding the use of the window object in environments where it might not be
|
|
39
|
+
// available, such as during server - side rendering in a framework like Next.js
|
|
42
40
|
if (typeof window === 'undefined') {
|
|
43
41
|
return null;
|
|
44
42
|
}
|
|
45
|
-
|
|
46
43
|
var _URL = new URL(window.location.href),
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
searchParams = _URL.searchParams;
|
|
49
45
|
if (searchParams.has(name)) {
|
|
50
46
|
return searchParams.get(name);
|
|
51
47
|
}
|
|
52
|
-
|
|
53
48
|
return false;
|
|
54
49
|
};
|
|
55
|
-
|
|
56
50
|
var getSettingForMethods = function getSettingForMethods() {
|
|
57
51
|
var value = getSettingFor(ARG_OVERRIDE_METHODS);
|
|
58
|
-
|
|
59
52
|
if (typeof value === 'string') {
|
|
60
53
|
return value.split(',');
|
|
61
54
|
}
|
|
62
|
-
|
|
63
55
|
return undefined;
|
|
64
56
|
};
|
|
65
|
-
|
|
66
57
|
var ENMASSE_OVERRIDE_METHODS = getSettingForMethods();
|
|
67
58
|
var ENMASSE_DEBUG = getSettingFor(ARG_DEBUG);
|
|
68
59
|
var ENMASSE_CONFIG = getSettingFor(ARG_CONFIG);
|
|
69
60
|
|
|
70
|
-
var version = "0.18.
|
|
61
|
+
var version = "0.18.10";
|
|
71
62
|
|
|
72
63
|
var TYPE_PROTOCOL = 1; // 0000 0000 0001
|
|
73
|
-
|
|
74
64
|
var TYPE_MANAGER = 2; // 0000 0000 0010
|
|
75
|
-
|
|
76
65
|
var TYPE_TRANSPORT = 4; // 0000 0000 0100
|
|
77
|
-
|
|
78
66
|
var TYPE_DRIVER = 8; // 0000 0000 1000
|
|
79
|
-
|
|
80
67
|
var TYPE_QUEUE = 16; // 0000 0001 0000
|
|
81
|
-
|
|
82
68
|
var TYPE_TIME = 32; // 0000 0010 0000
|
|
83
|
-
|
|
84
69
|
var TYPE_MANAGER_EXTRA = 64; // 0000 0100 0000
|
|
85
|
-
|
|
86
70
|
var TYPE_DRIVER_EXTRA = 128; // 0000 1000 0000
|
|
87
|
-
|
|
88
71
|
var TYPE_SERVICE = 256; // 0001 0000 0000
|
|
89
72
|
|
|
90
73
|
var LEVELS = {
|
|
91
74
|
brief: TYPE_PROTOCOL,
|
|
92
75
|
full: TYPE_PROTOCOL | TYPE_MANAGER | TYPE_TRANSPORT | TYPE_DRIVER,
|
|
93
76
|
exhaustive: TYPE_PROTOCOL | TYPE_MANAGER | TYPE_MANAGER_EXTRA | TYPE_TRANSPORT | TYPE_DRIVER | TYPE_DRIVER_EXTRA | TYPE_QUEUE | TYPE_TIME | TYPE_SERVICE
|
|
94
|
-
};
|
|
77
|
+
};
|
|
95
78
|
|
|
79
|
+
// eslint-disable-next-line
|
|
96
80
|
var log = function log() {};
|
|
97
|
-
|
|
98
81
|
if (ENMASSE_DEBUG) {
|
|
99
82
|
log = function log() {
|
|
100
83
|
var _console;
|
|
101
|
-
|
|
102
84
|
if (typeof console === 'undefined' || !console.log) {
|
|
103
85
|
return;
|
|
104
|
-
}
|
|
105
|
-
// var args = Array.prototype.slice.call(arguments);
|
|
106
|
-
// the first argument is the debug type
|
|
86
|
+
}
|
|
107
87
|
|
|
88
|
+
// parse arguments
|
|
89
|
+
// var args = Array.prototype.slice.call(arguments);
|
|
108
90
|
|
|
91
|
+
// the first argument is the debug type
|
|
109
92
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
110
93
|
args[_key] = arguments[_key];
|
|
111
94
|
}
|
|
95
|
+
var type = args[0];
|
|
112
96
|
|
|
113
|
-
|
|
97
|
+
// the rest of arguments are arbitrary data
|
|
98
|
+
var rest = args.slice(1);
|
|
114
99
|
|
|
115
|
-
|
|
100
|
+
// const time = ['getMinutes', 'getSeconds']
|
|
116
101
|
// .map((f) => new Date()[f]())
|
|
117
102
|
// .map((v) => (v < 10 ? '0' : '') + v)
|
|
118
103
|
// .join(':');
|
|
104
|
+
|
|
119
105
|
// add current time
|
|
120
106
|
// rest.unshift(time);
|
|
121
|
-
// do not log if mask doesn't contain current type
|
|
122
107
|
|
|
108
|
+
// do not log if mask doesn't contain current type
|
|
123
109
|
if ((LEVELS[ENMASSE_DEBUG] & type) === 0) {
|
|
124
110
|
return;
|
|
125
111
|
}
|
|
126
|
-
|
|
127
112
|
(_console = console).log.apply(_console, _toConsumableArray(rest));
|
|
128
113
|
};
|
|
129
114
|
}
|
|
@@ -131,64 +116,54 @@ if (ENMASSE_DEBUG) {
|
|
|
131
116
|
var Queue = /*#__PURE__*/function () {
|
|
132
117
|
function Queue() {
|
|
133
118
|
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
134
|
-
|
|
135
119
|
_classCallCheck(this, Queue);
|
|
136
|
-
|
|
137
120
|
// the main storage for messages
|
|
138
|
-
this.queue = [];
|
|
121
|
+
this.queue = [];
|
|
139
122
|
|
|
123
|
+
// stash of the queue
|
|
140
124
|
this.stashed = [];
|
|
141
125
|
this.running = false;
|
|
142
|
-
this.runner = typeof config.runner === 'function' ? config.runner : null;
|
|
126
|
+
this.runner = typeof config.runner === 'function' ? config.runner : null;
|
|
143
127
|
|
|
128
|
+
// list of channels we subscribed to
|
|
144
129
|
this.subscriptions = [];
|
|
145
130
|
}
|
|
146
|
-
|
|
147
|
-
_createClass(Queue, [{
|
|
131
|
+
return _createClass(Queue, [{
|
|
148
132
|
key: "push",
|
|
149
133
|
value: function push(message) {
|
|
150
134
|
var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
151
135
|
log(TYPE_QUEUE, 'Queue::push', message, force);
|
|
152
136
|
var klass = message.klass,
|
|
153
|
-
|
|
154
|
-
|
|
137
|
+
channel = message.channel;
|
|
155
138
|
if (!force) {
|
|
156
139
|
switch (klass) {
|
|
157
140
|
case SSCP_KLASS_LOGIN:
|
|
158
141
|
case SSCP_KLASS_AUTHR:
|
|
159
142
|
break;
|
|
160
|
-
|
|
161
143
|
case SSCP_KLASS_SUB:
|
|
162
144
|
if (this.subscriptions.indexOf(channel) === -1) {
|
|
163
145
|
this.subscriptions.push(channel);
|
|
164
146
|
} else {
|
|
165
147
|
return;
|
|
166
148
|
}
|
|
167
|
-
|
|
168
149
|
break;
|
|
169
|
-
|
|
170
150
|
case SSCP_KLASS_UNSUB:
|
|
171
151
|
{
|
|
172
152
|
var index = this.subscriptions.indexOf(channel);
|
|
173
|
-
|
|
174
153
|
if (index !== -1) {
|
|
175
154
|
this.subscriptions.splice(index, 1);
|
|
176
155
|
} else {
|
|
177
156
|
return;
|
|
178
157
|
}
|
|
179
|
-
|
|
180
158
|
break;
|
|
181
159
|
}
|
|
182
|
-
|
|
183
160
|
default:
|
|
184
161
|
if (this.subscriptions.indexOf(channel) === -1) {
|
|
185
162
|
return;
|
|
186
163
|
}
|
|
187
|
-
|
|
188
164
|
break;
|
|
189
165
|
}
|
|
190
166
|
}
|
|
191
|
-
|
|
192
167
|
this.queue.push(message);
|
|
193
168
|
}
|
|
194
169
|
}, {
|
|
@@ -199,15 +174,15 @@ var Queue = /*#__PURE__*/function () {
|
|
|
199
174
|
}, {
|
|
200
175
|
key: "run",
|
|
201
176
|
value: function run() {
|
|
202
|
-
log(TYPE_QUEUE, 'Queue::run', "running=".concat(this.running, ", head=").concat(this.queue[0]));
|
|
177
|
+
log(TYPE_QUEUE, 'Queue::run', "running=".concat(this.running, ", head=").concat(this.queue[0]));
|
|
178
|
+
|
|
179
|
+
// abort if whether
|
|
203
180
|
// 1. runner function is not set
|
|
204
181
|
// 2. OR queue is already running
|
|
205
182
|
// 3. OR there is no messages in the queue
|
|
206
|
-
|
|
207
183
|
if (this.runner === null || this.running || !this.queue[0]) {
|
|
208
184
|
return;
|
|
209
185
|
}
|
|
210
|
-
|
|
211
186
|
this.running = true;
|
|
212
187
|
this.runner(this.queue.shift());
|
|
213
188
|
}
|
|
@@ -228,8 +203,9 @@ var Queue = /*#__PURE__*/function () {
|
|
|
228
203
|
key: "stash",
|
|
229
204
|
value: function stash() {
|
|
230
205
|
log(TYPE_QUEUE, 'Queue::stash');
|
|
231
|
-
var item;
|
|
206
|
+
var item;
|
|
232
207
|
|
|
208
|
+
// eslint-disable-next-line
|
|
233
209
|
while (undefined !== (item = this.queue.shift())) {
|
|
234
210
|
this.stashed.push(item);
|
|
235
211
|
}
|
|
@@ -238,29 +214,30 @@ var Queue = /*#__PURE__*/function () {
|
|
|
238
214
|
key: "unstash",
|
|
239
215
|
value: function unstash() {
|
|
240
216
|
log(TYPE_QUEUE, 'Queue::unstash');
|
|
241
|
-
var item;
|
|
217
|
+
var item;
|
|
242
218
|
|
|
219
|
+
// eslint-disable-next-line
|
|
243
220
|
while (undefined !== (item = this.stashed.shift())) {
|
|
244
221
|
this.queue.push(item);
|
|
245
222
|
}
|
|
246
223
|
}
|
|
247
224
|
}]);
|
|
248
|
-
|
|
249
|
-
return Queue;
|
|
250
225
|
}();
|
|
251
226
|
|
|
227
|
+
// Returns current local timestamp
|
|
252
228
|
var local = function local() {
|
|
253
229
|
return new Date() / 1000;
|
|
254
|
-
};
|
|
255
|
-
|
|
230
|
+
};
|
|
256
231
|
|
|
257
|
-
|
|
232
|
+
// Server time default to local time
|
|
233
|
+
var serverTime = local();
|
|
258
234
|
|
|
235
|
+
// Time when the server time was received on the client
|
|
259
236
|
var clientTimeAtSync = local();
|
|
260
237
|
var setTime = function setTime(newTime) {
|
|
261
238
|
log(TYPE_TIME, 'Time::setTime', newTime);
|
|
262
|
-
serverTime = newTime;
|
|
263
|
-
|
|
239
|
+
serverTime = newTime;
|
|
240
|
+
// offset = local() - time;
|
|
264
241
|
clientTimeAtSync = local();
|
|
265
242
|
};
|
|
266
243
|
var now = function now() {
|
|
@@ -268,87 +245,62 @@ var now = function now() {
|
|
|
268
245
|
return Math.round(serverTime + elapsedTime);
|
|
269
246
|
};
|
|
270
247
|
|
|
271
|
-
function
|
|
272
|
-
|
|
273
|
-
function _isNativeReflectConstruct$7() { 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; } }
|
|
274
|
-
|
|
248
|
+
function _callSuper$7(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$7() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
249
|
+
function _isNativeReflectConstruct$7() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$7 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
275
250
|
var Transport = /*#__PURE__*/function (_Emitter) {
|
|
276
|
-
_inherits(Transport, _Emitter);
|
|
277
|
-
|
|
278
|
-
var _super = _createSuper$7(Transport);
|
|
279
|
-
|
|
280
|
-
// generic events
|
|
281
|
-
// connection state events
|
|
282
|
-
// states
|
|
283
251
|
function Transport() {
|
|
284
252
|
var _this;
|
|
285
|
-
|
|
286
253
|
_classCallCheck(this, Transport);
|
|
287
|
-
|
|
288
|
-
_this = _super.call(this);
|
|
254
|
+
_this = _callSuper$7(this, Transport);
|
|
289
255
|
_this.state = _this.STATE_DISCONNECTED;
|
|
290
256
|
_this.trigger = _this.emit;
|
|
291
257
|
_this.bind = _this.on;
|
|
292
258
|
_this.unbind = _this.off;
|
|
293
259
|
return _this;
|
|
294
260
|
}
|
|
295
|
-
|
|
296
|
-
return Transport;
|
|
261
|
+
_inherits(Transport, _Emitter);
|
|
262
|
+
return _createClass(Transport);
|
|
297
263
|
}(Emitter);
|
|
298
|
-
|
|
264
|
+
// generic events
|
|
299
265
|
_defineProperty(Transport, "ON_READY", 'ready');
|
|
300
|
-
|
|
301
266
|
_defineProperty(Transport, "ON_MESSAGE", 'message');
|
|
302
|
-
|
|
267
|
+
// connection state events
|
|
303
268
|
_defineProperty(Transport, "ON_CONNECTED", 'connected');
|
|
304
|
-
|
|
305
269
|
_defineProperty(Transport, "ON_CONNECT_FAILED", 'connect_failed');
|
|
306
|
-
|
|
307
270
|
_defineProperty(Transport, "ON_CONNECT_LOST", 'connect_lost');
|
|
308
|
-
|
|
309
271
|
_defineProperty(Transport, "ON_DISCONNECTED", 'disconnected');
|
|
310
|
-
|
|
272
|
+
// states
|
|
311
273
|
_defineProperty(Transport, "STATE_CONNECTED", 'connected');
|
|
312
|
-
|
|
313
274
|
_defineProperty(Transport, "STATE_CONNECTING", 'connecting');
|
|
314
|
-
|
|
315
275
|
_defineProperty(Transport, "STATE_DISCONNECTED", 'disconnected');
|
|
316
|
-
|
|
317
276
|
_defineProperty(Transport, "STATE_DISCONNECTING", 'disconnecting');
|
|
318
277
|
|
|
319
|
-
function
|
|
320
|
-
|
|
321
|
-
function _isNativeReflectConstruct$6() { 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; } }
|
|
322
|
-
|
|
278
|
+
function _callSuper$6(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$6() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
279
|
+
function _isNativeReflectConstruct$6() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$6 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
323
280
|
var Driver = /*#__PURE__*/function (_Emitter) {
|
|
324
|
-
_inherits(Driver, _Emitter);
|
|
325
|
-
|
|
326
|
-
var _super = _createSuper$6(Driver);
|
|
327
|
-
|
|
328
281
|
function Driver() {
|
|
329
282
|
var _this;
|
|
330
|
-
|
|
331
283
|
_classCallCheck(this, Driver);
|
|
332
|
-
|
|
333
|
-
_this = _super.call(this);
|
|
284
|
+
_this = _callSuper$6(this, Driver);
|
|
334
285
|
_this.connected = false;
|
|
335
286
|
_this.trigger = _this.emit;
|
|
336
287
|
_this.bind = _this.on;
|
|
337
288
|
_this.unbind = _this.off;
|
|
338
289
|
return _this;
|
|
339
290
|
}
|
|
340
|
-
|
|
341
|
-
_createClass(Driver, [{
|
|
291
|
+
_inherits(Driver, _Emitter);
|
|
292
|
+
return _createClass(Driver, [{
|
|
342
293
|
key: "connect",
|
|
343
294
|
value: function connect() {}
|
|
344
295
|
}, {
|
|
345
296
|
key: "disconnect",
|
|
346
|
-
value: function disconnect() {}
|
|
297
|
+
value: function disconnect() {}
|
|
298
|
+
|
|
299
|
+
// Arguments:
|
|
347
300
|
//
|
|
348
301
|
// data = null
|
|
349
302
|
// success = () => {}
|
|
350
303
|
// failure = () => {}
|
|
351
|
-
|
|
352
304
|
}, {
|
|
353
305
|
key: "send",
|
|
354
306
|
value: function send() {}
|
|
@@ -358,44 +310,30 @@ var Driver = /*#__PURE__*/function (_Emitter) {
|
|
|
358
310
|
this.trigger(Driver.ON_READY);
|
|
359
311
|
}
|
|
360
312
|
}]);
|
|
361
|
-
|
|
362
|
-
return Driver;
|
|
363
313
|
}(Emitter);
|
|
364
|
-
|
|
365
314
|
_defineProperty(Driver, "ON_READY", 'ready');
|
|
366
|
-
|
|
367
315
|
_defineProperty(Driver, "ON_MESSAGE", 'message');
|
|
368
|
-
|
|
369
316
|
_defineProperty(Driver, "ON_CONNECTED", 'connected');
|
|
370
|
-
|
|
371
317
|
_defineProperty(Driver, "ON_DISCONNECTED", 'disconnected');
|
|
372
318
|
|
|
373
|
-
function
|
|
374
|
-
|
|
375
|
-
function _isNativeReflectConstruct$5() { 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; } }
|
|
319
|
+
function _callSuper$5(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$5() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
320
|
+
function _isNativeReflectConstruct$5() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$5 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
376
321
|
var globals$1 = getGlobal();
|
|
377
|
-
|
|
378
322
|
var XHRDriver = /*#__PURE__*/function (_Driver) {
|
|
379
|
-
_inherits(XHRDriver, _Driver);
|
|
380
|
-
|
|
381
|
-
var _super = _createSuper$5(XHRDriver);
|
|
382
|
-
|
|
383
323
|
function XHRDriver() {
|
|
384
324
|
var _this;
|
|
385
|
-
|
|
386
325
|
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
387
|
-
|
|
388
326
|
_classCallCheck(this, XHRDriver);
|
|
389
|
-
|
|
390
|
-
_this = _super.call(this);
|
|
327
|
+
_this = _callSuper$5(this, XHRDriver);
|
|
391
328
|
_this.config = config;
|
|
392
329
|
_this.requests = {};
|
|
393
330
|
_this.requestIdx = 0;
|
|
394
331
|
return _this;
|
|
395
|
-
}
|
|
396
|
-
|
|
332
|
+
}
|
|
397
333
|
|
|
398
|
-
|
|
334
|
+
// CORS request wrapper
|
|
335
|
+
_inherits(XHRDriver, _Driver);
|
|
336
|
+
return _createClass(XHRDriver, [{
|
|
399
337
|
key: "_request",
|
|
400
338
|
value: function _request(url) {
|
|
401
339
|
var success = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
|
|
@@ -406,7 +344,6 @@ var XHRDriver = /*#__PURE__*/function (_Driver) {
|
|
|
406
344
|
var self = this;
|
|
407
345
|
var xhr = new XMLHttpRequest();
|
|
408
346
|
var method = 'POST';
|
|
409
|
-
|
|
410
347
|
if (typeof XDomainRequest !== 'undefined') {
|
|
411
348
|
xhr = new XDomainRequest();
|
|
412
349
|
xhr.open(method, url);
|
|
@@ -416,32 +353,27 @@ var XHRDriver = /*#__PURE__*/function (_Driver) {
|
|
|
416
353
|
} else {
|
|
417
354
|
return null;
|
|
418
355
|
}
|
|
419
|
-
|
|
420
356
|
xhr._idx = this.requestIdx;
|
|
421
|
-
|
|
422
357
|
xhr.onload = function onLoad() {
|
|
423
358
|
log(TYPE_DRIVER_EXTRA, "XHRDriver::request::onload idx=".concat(xhr._idx, ", response=").concat(this.responseText));
|
|
424
|
-
|
|
425
359
|
if (this.responseText.length > 0) {
|
|
426
360
|
success(self._parseResponse(this.responseText));
|
|
427
361
|
} else {
|
|
428
362
|
failure(this.responseText);
|
|
429
363
|
}
|
|
430
364
|
};
|
|
431
|
-
|
|
432
365
|
xhr.onerror = function onError() {
|
|
433
366
|
log(TYPE_DRIVER_EXTRA, "XHRDriver::request::onerror idx=".concat(xhr._idx, ", response=").concat(this.responseText));
|
|
434
367
|
failure(this.responseText);
|
|
435
|
-
};
|
|
368
|
+
};
|
|
369
|
+
|
|
370
|
+
// XHR doesn't trigger onabort event in IE < 10
|
|
436
371
|
// attaching custom abort handler and execute
|
|
437
372
|
// it manually on each abort() call
|
|
438
|
-
|
|
439
|
-
|
|
440
373
|
xhr._onabort = function () {
|
|
441
374
|
log(TYPE_DRIVER_EXTRA, "XHRDriver::request::onabort idx=".concat(xhr._idx));
|
|
442
375
|
abort();
|
|
443
376
|
};
|
|
444
|
-
|
|
445
377
|
return xhr;
|
|
446
378
|
}
|
|
447
379
|
}, {
|
|
@@ -449,33 +381,27 @@ var XHRDriver = /*#__PURE__*/function (_Driver) {
|
|
|
449
381
|
value: function _parseResponse(response) {
|
|
450
382
|
var data = {};
|
|
451
383
|
var chunks = response.split('&');
|
|
452
|
-
|
|
453
384
|
for (var i = 0, l = chunks.length; i < l; i++) {
|
|
454
385
|
var _chunks$i$split = chunks[i].split('='),
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
386
|
+
_chunks$i$split2 = _slicedToArray(_chunks$i$split, 2),
|
|
387
|
+
key = _chunks$i$split2[0],
|
|
388
|
+
value = _chunks$i$split2[1];
|
|
459
389
|
var normalisedValue = decodeURIComponent(value.replace('\0', ''));
|
|
460
|
-
|
|
461
390
|
if (key in data) {
|
|
462
391
|
if (data[key].constructor !== Array) {
|
|
463
392
|
data[key] = [data[key]];
|
|
464
393
|
}
|
|
465
|
-
|
|
466
394
|
data[key].push(normalisedValue);
|
|
467
395
|
} else {
|
|
468
396
|
data[key] = normalisedValue;
|
|
469
397
|
}
|
|
470
398
|
}
|
|
471
|
-
|
|
472
399
|
return data;
|
|
473
400
|
}
|
|
474
401
|
}, {
|
|
475
402
|
key: "_removeRequest",
|
|
476
403
|
value: function _removeRequest(idx) {
|
|
477
404
|
log(TYPE_DRIVER_EXTRA, 'XHRDriver::removeRequest', idx);
|
|
478
|
-
|
|
479
405
|
if (Object.prototype.hasOwnProperty.call(this.requests, idx)) {
|
|
480
406
|
delete this.requests[idx];
|
|
481
407
|
}
|
|
@@ -484,12 +410,10 @@ var XHRDriver = /*#__PURE__*/function (_Driver) {
|
|
|
484
410
|
key: "connect",
|
|
485
411
|
value: function connect() {
|
|
486
412
|
log(TYPE_DRIVER, 'XHRDriver::connect');
|
|
487
|
-
|
|
488
413
|
if (this.connected) {
|
|
489
414
|
log(TYPE_DRIVER, 'XHRDriver::connect already been connected!');
|
|
490
415
|
return;
|
|
491
416
|
}
|
|
492
|
-
|
|
493
417
|
this.connected = true;
|
|
494
418
|
this.trigger(XHRDriver.ON_CONNECTED);
|
|
495
419
|
}
|
|
@@ -497,60 +421,48 @@ var XHRDriver = /*#__PURE__*/function (_Driver) {
|
|
|
497
421
|
key: "disconnect",
|
|
498
422
|
value: function disconnect() {
|
|
499
423
|
log(TYPE_DRIVER, 'XHRDriver::disconnect');
|
|
500
|
-
|
|
501
424
|
if (this.connected) {
|
|
502
425
|
// abort all requests
|
|
503
426
|
for (var idx in this.requests) {
|
|
504
427
|
if (Object.prototype.hasOwnProperty.call(this.requests, idx) && this.requests[idx].abort) {
|
|
505
428
|
this.requests[idx].abort();
|
|
506
|
-
|
|
507
429
|
if (this.requests[idx]._onabort) {
|
|
508
430
|
this.requests[idx]._onabort();
|
|
509
431
|
}
|
|
510
|
-
|
|
511
432
|
this._removeRequest(idx);
|
|
512
433
|
}
|
|
513
434
|
}
|
|
514
|
-
|
|
515
435
|
this.connected = false;
|
|
516
436
|
}
|
|
517
|
-
|
|
518
437
|
this.trigger(XHRDriver.ON_DISCONNECTED);
|
|
519
438
|
}
|
|
520
439
|
}, {
|
|
521
440
|
key: "send",
|
|
522
441
|
value: function send(url, data) {
|
|
523
442
|
var _this2 = this;
|
|
524
|
-
|
|
525
443
|
var success = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
|
|
526
444
|
var failure = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};
|
|
527
445
|
log(TYPE_DRIVER, 'XHRDriver::send', data);
|
|
528
446
|
var xhr;
|
|
529
447
|
var retry = 1;
|
|
530
|
-
|
|
531
448
|
var send = function send() {
|
|
532
449
|
// eslint-disable-next-line
|
|
533
450
|
xhr = _this2._request(url, onSuccess, onFailure, onAbort);
|
|
534
|
-
_this2.requests[xhr._idx] = xhr;
|
|
451
|
+
_this2.requests[xhr._idx] = xhr;
|
|
535
452
|
|
|
453
|
+
// fixes aborting requests in IE
|
|
536
454
|
setTimeout(function () {
|
|
537
455
|
xhr.send(data);
|
|
538
456
|
}, 0);
|
|
539
457
|
};
|
|
540
|
-
|
|
541
458
|
var onSuccess = function onSuccess(response) {
|
|
542
459
|
log(TYPE_DRIVER, 'XHRDriver::success', data);
|
|
543
|
-
|
|
544
460
|
_this2._removeRequest(xhr._idx);
|
|
545
|
-
|
|
546
461
|
success(response);
|
|
547
462
|
};
|
|
548
|
-
|
|
549
463
|
var onFailure = function onFailure(response) {
|
|
550
464
|
log(TYPE_DRIVER, 'XHRDriver::failure, retry: ', retry);
|
|
551
|
-
|
|
552
465
|
_this2._removeRequest(xhr._idx);
|
|
553
|
-
|
|
554
466
|
if (retry <= _this2.config.request_retries) {
|
|
555
467
|
setTimeout(function () {
|
|
556
468
|
send();
|
|
@@ -560,15 +472,11 @@ var XHRDriver = /*#__PURE__*/function (_Driver) {
|
|
|
560
472
|
failure(response);
|
|
561
473
|
}
|
|
562
474
|
};
|
|
563
|
-
|
|
564
475
|
var onAbort = function onAbort() {
|
|
565
476
|
log(TYPE_DRIVER, 'XHRDriver::abort', data);
|
|
566
|
-
|
|
567
477
|
_this2._removeRequest(xhr._idx);
|
|
568
|
-
|
|
569
478
|
failure();
|
|
570
479
|
};
|
|
571
|
-
|
|
572
480
|
send();
|
|
573
481
|
}
|
|
574
482
|
}], [{
|
|
@@ -577,32 +485,22 @@ var XHRDriver = /*#__PURE__*/function (_Driver) {
|
|
|
577
485
|
return 'XDomainRequest' in globals$1 || 'withCredentials' in new XMLHttpRequest();
|
|
578
486
|
}
|
|
579
487
|
}]);
|
|
580
|
-
|
|
581
|
-
return XHRDriver;
|
|
582
488
|
}(Driver);
|
|
583
489
|
|
|
584
|
-
function
|
|
585
|
-
|
|
586
|
-
function _isNativeReflectConstruct$4() { 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; } }
|
|
490
|
+
function _callSuper$4(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$4() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
491
|
+
function _isNativeReflectConstruct$4() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$4 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
587
492
|
var globals = getGlobal();
|
|
588
|
-
|
|
589
493
|
var WebSocketDriver = /*#__PURE__*/function (_Driver) {
|
|
590
|
-
_inherits(WebSocketDriver, _Driver);
|
|
591
|
-
|
|
592
|
-
var _super = _createSuper$4(WebSocketDriver);
|
|
593
|
-
|
|
594
494
|
function WebSocketDriver() {
|
|
595
495
|
var _this;
|
|
596
|
-
|
|
597
496
|
_classCallCheck(this, WebSocketDriver);
|
|
598
|
-
|
|
599
|
-
_this = _super.call(this);
|
|
497
|
+
_this = _callSuper$4(this, WebSocketDriver);
|
|
600
498
|
_this.websocket = null;
|
|
601
499
|
_this.closeTimeout = null;
|
|
602
500
|
return _this;
|
|
603
501
|
}
|
|
604
|
-
|
|
605
|
-
_createClass(WebSocketDriver, [{
|
|
502
|
+
_inherits(WebSocketDriver, _Driver);
|
|
503
|
+
return _createClass(WebSocketDriver, [{
|
|
606
504
|
key: "_onMessage",
|
|
607
505
|
value: function _onMessage(e) {
|
|
608
506
|
log(TYPE_DRIVER, 'WebSocketDriver::onMessage', e.data);
|
|
@@ -619,7 +517,6 @@ var WebSocketDriver = /*#__PURE__*/function (_Driver) {
|
|
|
619
517
|
key: "_onClose",
|
|
620
518
|
value: function _onClose() {
|
|
621
519
|
log(TYPE_DRIVER, 'WebSocketDriver::onClose');
|
|
622
|
-
|
|
623
520
|
this._disconnect();
|
|
624
521
|
}
|
|
625
522
|
}, {
|
|
@@ -631,20 +528,16 @@ var WebSocketDriver = /*#__PURE__*/function (_Driver) {
|
|
|
631
528
|
key: "_disconnect",
|
|
632
529
|
value: function _disconnect() {
|
|
633
530
|
log(TYPE_DRIVER, 'WebSocketDriver::disconnect');
|
|
634
|
-
this.connected = false;
|
|
531
|
+
this.connected = false;
|
|
635
532
|
|
|
533
|
+
// reset handlers if websocket was created
|
|
636
534
|
if (this.websocket !== null) {
|
|
637
535
|
this.websocket.onmessage = function () {};
|
|
638
|
-
|
|
639
536
|
this.websocket.onopen = function () {};
|
|
640
|
-
|
|
641
537
|
this.websocket.onclose = function () {};
|
|
642
|
-
|
|
643
538
|
this.websocket.onerror = function () {};
|
|
644
|
-
|
|
645
539
|
this.websocket = null;
|
|
646
540
|
}
|
|
647
|
-
|
|
648
541
|
clearTimeout(this.closeTimeout);
|
|
649
542
|
this.trigger(WebSocketDriver.ON_DISCONNECTED);
|
|
650
543
|
}
|
|
@@ -654,7 +547,6 @@ var WebSocketDriver = /*#__PURE__*/function (_Driver) {
|
|
|
654
547
|
if (this.connected) {
|
|
655
548
|
return;
|
|
656
549
|
}
|
|
657
|
-
|
|
658
550
|
log(TYPE_DRIVER, 'WebSocketDriver::connect', host, port);
|
|
659
551
|
var url = "".concat(secure ? 'wss' : 'ws', "://").concat(host, ":").concat(port, "/ws");
|
|
660
552
|
this.websocket = new WebSocket(url);
|
|
@@ -667,12 +559,12 @@ var WebSocketDriver = /*#__PURE__*/function (_Driver) {
|
|
|
667
559
|
key: "disconnect",
|
|
668
560
|
value: function disconnect() {
|
|
669
561
|
log(TYPE_DRIVER, 'WebSocketDriver::disconnect');
|
|
670
|
-
|
|
671
562
|
if (this.connected) {
|
|
672
563
|
// ON_DISCONNECTED will be triggered at onClose event
|
|
673
|
-
this.websocket.close();
|
|
674
|
-
// set timeout to force fire ON_DISCONNECTED event
|
|
564
|
+
this.websocket.close();
|
|
675
565
|
|
|
566
|
+
// websocket does not fire onclose if network connection is lost
|
|
567
|
+
// set timeout to force fire ON_DISCONNECTED event
|
|
676
568
|
this.closeTimeout = setTimeout(this._disconnect.bind(this), 750);
|
|
677
569
|
} else {
|
|
678
570
|
// disconnect instantly if websocket wasn't connected or still connecting
|
|
@@ -693,35 +585,25 @@ var WebSocketDriver = /*#__PURE__*/function (_Driver) {
|
|
|
693
585
|
return 'WebSocket' in globals;
|
|
694
586
|
}
|
|
695
587
|
}]);
|
|
696
|
-
|
|
697
|
-
return WebSocketDriver;
|
|
698
588
|
}(Driver);
|
|
699
589
|
|
|
700
|
-
function
|
|
701
|
-
|
|
702
|
-
function _isNativeReflectConstruct$3() { 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; } }
|
|
590
|
+
function _callSuper$3(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$3() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
591
|
+
function _isNativeReflectConstruct$3() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$3 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
703
592
|
var COMMAND_CONNECT = 'connect';
|
|
704
593
|
var COMMAND_PASS = 'pass';
|
|
705
594
|
var COMMAND_POLL = 'poll';
|
|
706
|
-
|
|
707
595
|
var ProxyTransport = /*#__PURE__*/function (_Transport) {
|
|
708
|
-
_inherits(ProxyTransport, _Transport);
|
|
709
|
-
|
|
710
|
-
var _super = _createSuper$3(ProxyTransport);
|
|
711
|
-
|
|
712
596
|
function ProxyTransport() {
|
|
713
597
|
var _this;
|
|
714
|
-
|
|
715
598
|
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
716
|
-
|
|
717
599
|
_classCallCheck(this, ProxyTransport);
|
|
718
|
-
|
|
719
600
|
log(TYPE_TRANSPORT, 'ProxyTransport::constructor', config);
|
|
720
|
-
_this =
|
|
601
|
+
_this = _callSuper$3(this, ProxyTransport, [config]);
|
|
721
602
|
_this.driver = config.driver || null;
|
|
722
603
|
_this.host = config.host || null;
|
|
723
604
|
_this.port = config.port || null;
|
|
724
605
|
_this.secure = config.secure || false;
|
|
606
|
+
|
|
725
607
|
/*
|
|
726
608
|
* Proxy properties
|
|
727
609
|
* host and port should be always preserved on connect and reconnect
|
|
@@ -732,17 +614,13 @@ var ProxyTransport = /*#__PURE__*/function (_Transport) {
|
|
|
732
614
|
_this.childId = null;
|
|
733
615
|
_this.clientId = null;
|
|
734
616
|
_this.sessionId = null;
|
|
735
|
-
|
|
736
|
-
_this.driver.bind(Driver.
|
|
737
|
-
|
|
738
|
-
_this.driver.bind(Driver.ON_CONNECTED, _this._handleDriverConnected.bind(_assertThisInitialized(_this)));
|
|
739
|
-
|
|
740
|
-
_this.driver.bind(Driver.ON_DISCONNECTED, _this._handleDriverDisconnected.bind(_assertThisInitialized(_this)));
|
|
741
|
-
|
|
617
|
+
_this.driver.bind(Driver.ON_READY, _this._handleDriverReady.bind(_this));
|
|
618
|
+
_this.driver.bind(Driver.ON_CONNECTED, _this._handleDriverConnected.bind(_this));
|
|
619
|
+
_this.driver.bind(Driver.ON_DISCONNECTED, _this._handleDriverDisconnected.bind(_this));
|
|
742
620
|
return _this;
|
|
743
621
|
}
|
|
744
|
-
|
|
745
|
-
_createClass(ProxyTransport, [{
|
|
622
|
+
_inherits(ProxyTransport, _Transport);
|
|
623
|
+
return _createClass(ProxyTransport, [{
|
|
746
624
|
key: "_url",
|
|
747
625
|
value: function _url() {
|
|
748
626
|
return "".concat(this.secure ? 'https' : 'http', "://") + "".concat(this.proxyIp ? this.proxyIp : this.host, ":") + "".concat(this.port, "/") + "".concat(this.childId !== null ? "".concat(this.childId, "/") : '') + "?_r=".concat(new Date().getTime());
|
|
@@ -754,57 +632,47 @@ var ProxyTransport = /*#__PURE__*/function (_Transport) {
|
|
|
754
632
|
var success = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
|
|
755
633
|
var failure = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
|
|
756
634
|
var self = this;
|
|
757
|
-
|
|
758
635
|
var onSuccess = function onSuccess(response) {
|
|
759
636
|
// fire ON_MESSAGE event unless sscp message is empty
|
|
760
637
|
if (response.sscp.constructor === String) {
|
|
761
638
|
response.sscp = [response.sscp];
|
|
762
639
|
}
|
|
763
|
-
|
|
764
640
|
for (var i = 0, l = response.sscp.length; i < l; i++) {
|
|
765
641
|
if (response.sscp[i] !== '') {
|
|
766
642
|
self.trigger(ProxyTransport.ON_MESSAGE, response.sscp[i]);
|
|
767
643
|
}
|
|
768
644
|
}
|
|
769
|
-
|
|
770
645
|
success(response);
|
|
771
646
|
};
|
|
772
|
-
|
|
773
647
|
var onFailure = function onFailure() {
|
|
774
648
|
switch (self.state) {
|
|
775
649
|
case ProxyTransport.STATE_CONNECTED:
|
|
776
650
|
self.state = ProxyTransport.STATE_DISCONNECTING;
|
|
777
651
|
self.trigger(ProxyTransport.ON_CONNECT_FAILED);
|
|
778
652
|
break;
|
|
779
|
-
|
|
780
653
|
case ProxyTransport.STATE_CONNECTING:
|
|
781
654
|
self.state = ProxyTransport.STATE_DISCONNECTING;
|
|
782
655
|
self.trigger(ProxyTransport.ON_CONNECT_FAILED);
|
|
783
656
|
break;
|
|
784
|
-
|
|
785
657
|
case ProxyTransport.STATE_DISCONNECTING:
|
|
786
658
|
self.state = ProxyTransport.STATE_DISCONNECTED;
|
|
787
659
|
self.trigger(ProxyTransport.ON_DISCONNECTED);
|
|
788
660
|
break;
|
|
789
661
|
}
|
|
790
|
-
|
|
791
662
|
failure();
|
|
792
663
|
};
|
|
793
|
-
|
|
794
664
|
this.driver.send(this._url(), params, onSuccess, onFailure);
|
|
795
665
|
}
|
|
796
666
|
}, {
|
|
797
667
|
key: "_poll",
|
|
798
668
|
value: function _poll() {
|
|
799
669
|
var params = "command=".concat(COMMAND_POLL) + "&clientid=".concat(this.clientId) + "&sid=".concat(this.sessionId);
|
|
800
|
-
|
|
801
670
|
this._request(params, this._poll.bind(this));
|
|
802
671
|
}
|
|
803
672
|
}, {
|
|
804
673
|
key: "_connect",
|
|
805
674
|
value: function _connect() {
|
|
806
675
|
var self = this;
|
|
807
|
-
|
|
808
676
|
var onSuccess = function onSuccess(response) {
|
|
809
677
|
self.proxyIp = response.proxy;
|
|
810
678
|
self.clientId = parseInt(response.clientid, 10);
|
|
@@ -812,17 +680,13 @@ var ProxyTransport = /*#__PURE__*/function (_Transport) {
|
|
|
812
680
|
self.sessionId = response.sid;
|
|
813
681
|
self.state = ProxyTransport.STATE_CONNECTED;
|
|
814
682
|
self.trigger(ProxyTransport.ON_CONNECTED);
|
|
815
|
-
|
|
816
683
|
self._poll();
|
|
817
684
|
};
|
|
818
|
-
|
|
819
685
|
var onFailure = function onFailure() {
|
|
820
686
|
self.state = ProxyTransport.STATE_DISCONNECTED;
|
|
821
687
|
self.trigger(ProxyTransport.ON_CONNECT_FAILED);
|
|
822
688
|
};
|
|
823
|
-
|
|
824
689
|
var params = "command=".concat(COMMAND_CONNECT);
|
|
825
|
-
|
|
826
690
|
this._request(params, onSuccess, onFailure);
|
|
827
691
|
}
|
|
828
692
|
}, {
|
|
@@ -841,16 +705,13 @@ var ProxyTransport = /*#__PURE__*/function (_Transport) {
|
|
|
841
705
|
log(TYPE_TRANSPORT, 'ProxyTransport::handleDriverDisconnected');
|
|
842
706
|
var state = this.state;
|
|
843
707
|
this.state = ProxyTransport.STATE_DISCONNECTED;
|
|
844
|
-
|
|
845
708
|
switch (state) {
|
|
846
709
|
case ProxyTransport.STATE_CONNECTED:
|
|
847
710
|
this.trigger(ProxyTransport.ON_CONNECT_LOST);
|
|
848
711
|
break;
|
|
849
|
-
|
|
850
712
|
case ProxyTransport.STATE_CONNECTING:
|
|
851
713
|
this.trigger(ProxyTransport.ON_CONNECT_FAILED);
|
|
852
714
|
break;
|
|
853
|
-
|
|
854
715
|
case ProxyTransport.STATE_DISCONNECTING:
|
|
855
716
|
this.trigger(ProxyTransport.ON_DISCONNECTED);
|
|
856
717
|
break;
|
|
@@ -863,7 +724,6 @@ var ProxyTransport = /*#__PURE__*/function (_Transport) {
|
|
|
863
724
|
var failure = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
|
|
864
725
|
log(TYPE_TRANSPORT, 'ProxyTransport::send', sscp);
|
|
865
726
|
var params = "command=".concat(COMMAND_PASS) + "&clientid=".concat(this.clientId) + "&sscp=".concat(sscp) + "&sid=".concat(this.sessionId);
|
|
866
|
-
|
|
867
727
|
this._request(params, success, failure);
|
|
868
728
|
}
|
|
869
729
|
}, {
|
|
@@ -876,8 +736,9 @@ var ProxyTransport = /*#__PURE__*/function (_Transport) {
|
|
|
876
736
|
}, {
|
|
877
737
|
key: "disconnect",
|
|
878
738
|
value: function disconnect() {
|
|
879
|
-
log(TYPE_TRANSPORT, 'ProxyTransport::disconnect');
|
|
739
|
+
log(TYPE_TRANSPORT, 'ProxyTransport::disconnect');
|
|
880
740
|
|
|
741
|
+
// drop proxy settings
|
|
881
742
|
this.proxyIp = null;
|
|
882
743
|
this.childId = null;
|
|
883
744
|
this.sessionId = null;
|
|
@@ -891,45 +752,29 @@ var ProxyTransport = /*#__PURE__*/function (_Transport) {
|
|
|
891
752
|
this.driver.init();
|
|
892
753
|
}
|
|
893
754
|
}]);
|
|
894
|
-
|
|
895
|
-
return ProxyTransport;
|
|
896
755
|
}(Transport);
|
|
897
756
|
|
|
898
|
-
function
|
|
899
|
-
|
|
900
|
-
function _isNativeReflectConstruct$2() { 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; } }
|
|
901
|
-
|
|
757
|
+
function _callSuper$2(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$2() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
758
|
+
function _isNativeReflectConstruct$2() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$2 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
902
759
|
var SocketTransport = /*#__PURE__*/function (_Transport) {
|
|
903
|
-
_inherits(SocketTransport, _Transport);
|
|
904
|
-
|
|
905
|
-
var _super = _createSuper$2(SocketTransport);
|
|
906
|
-
|
|
907
760
|
function SocketTransport() {
|
|
908
761
|
var _this;
|
|
909
|
-
|
|
910
762
|
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
911
|
-
|
|
912
763
|
_classCallCheck(this, SocketTransport);
|
|
913
|
-
|
|
914
764
|
log(TYPE_TRANSPORT, 'SocketTransport::constructor', config);
|
|
915
|
-
_this =
|
|
765
|
+
_this = _callSuper$2(this, SocketTransport);
|
|
916
766
|
_this.driver = config.driver || null;
|
|
917
767
|
_this.host = config.host || null;
|
|
918
768
|
_this.port = config.port || null;
|
|
919
769
|
_this.secure = config.secure || false;
|
|
920
|
-
|
|
921
|
-
_this.driver.bind(Driver.
|
|
922
|
-
|
|
923
|
-
_this.driver.bind(Driver.
|
|
924
|
-
|
|
925
|
-
_this.driver.bind(Driver.ON_CONNECTED, _this._handleDriverConnected.bind(_assertThisInitialized(_this)));
|
|
926
|
-
|
|
927
|
-
_this.driver.bind(Driver.ON_DISCONNECTED, _this._handleDriverDisconnected.bind(_assertThisInitialized(_this)));
|
|
928
|
-
|
|
770
|
+
_this.driver.bind(Driver.ON_READY, _this._handleDriverReady.bind(_this));
|
|
771
|
+
_this.driver.bind(Driver.ON_MESSAGE, _this._handleDriverMessage.bind(_this));
|
|
772
|
+
_this.driver.bind(Driver.ON_CONNECTED, _this._handleDriverConnected.bind(_this));
|
|
773
|
+
_this.driver.bind(Driver.ON_DISCONNECTED, _this._handleDriverDisconnected.bind(_this));
|
|
929
774
|
return _this;
|
|
930
775
|
}
|
|
931
|
-
|
|
932
|
-
_createClass(SocketTransport, [{
|
|
776
|
+
_inherits(SocketTransport, _Transport);
|
|
777
|
+
return _createClass(SocketTransport, [{
|
|
933
778
|
key: "_handleDriverReady",
|
|
934
779
|
value: function _handleDriverReady() {
|
|
935
780
|
log(TYPE_TRANSPORT, 'SocketTransport::_handleDriverReady');
|
|
@@ -954,16 +799,13 @@ var SocketTransport = /*#__PURE__*/function (_Transport) {
|
|
|
954
799
|
log(TYPE_TRANSPORT, 'SocketTransport::handleDriverDisconnected');
|
|
955
800
|
var state = this.state;
|
|
956
801
|
this.state = SocketTransport.STATE_DISCONNECTED;
|
|
957
|
-
|
|
958
802
|
switch (state) {
|
|
959
803
|
case SocketTransport.STATE_CONNECTED:
|
|
960
804
|
this.trigger(SocketTransport.ON_CONNECT_LOST);
|
|
961
805
|
break;
|
|
962
|
-
|
|
963
806
|
case SocketTransport.STATE_CONNECTING:
|
|
964
807
|
this.trigger(SocketTransport.ON_CONNECT_FAILED);
|
|
965
808
|
break;
|
|
966
|
-
|
|
967
809
|
case SocketTransport.STATE_DISCONNECTING:
|
|
968
810
|
this.trigger(SocketTransport.ON_DISCONNECTED);
|
|
969
811
|
break;
|
|
@@ -998,63 +840,55 @@ var SocketTransport = /*#__PURE__*/function (_Transport) {
|
|
|
998
840
|
this.driver.init();
|
|
999
841
|
}
|
|
1000
842
|
}]);
|
|
1001
|
-
|
|
1002
|
-
return SocketTransport;
|
|
1003
843
|
}(Transport);
|
|
1004
844
|
|
|
1005
|
-
function
|
|
1006
|
-
|
|
1007
|
-
function _isNativeReflectConstruct$1() { 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; } }
|
|
845
|
+
function _callSuper$1(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$1() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
846
|
+
function _isNativeReflectConstruct$1() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$1 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
1008
847
|
var METHOD_PROXY = 'proxy';
|
|
1009
848
|
var METHOD_WEBSOCKET = 'websocket';
|
|
1010
|
-
|
|
1011
849
|
var TransportManager = /*#__PURE__*/function (_Emitter) {
|
|
1012
|
-
_inherits(TransportManager, _Emitter);
|
|
1013
|
-
|
|
1014
|
-
var _super = _createSuper$1(TransportManager);
|
|
1015
|
-
|
|
1016
850
|
function TransportManager() {
|
|
1017
851
|
var _this;
|
|
1018
|
-
|
|
1019
852
|
_classCallCheck(this, TransportManager);
|
|
1020
|
-
|
|
1021
|
-
_this = _super.call(this);
|
|
853
|
+
_this = _callSuper$1(this, TransportManager);
|
|
1022
854
|
_this.trigger = _this.emit;
|
|
1023
855
|
_this.bind = _this.on;
|
|
1024
856
|
_this.unbind = _this.off;
|
|
1025
857
|
_this.ON_READY = 'ready';
|
|
1026
858
|
_this.config = null;
|
|
1027
|
-
_this.idx = 0;
|
|
859
|
+
_this.idx = 0;
|
|
1028
860
|
|
|
861
|
+
// list of connection types pairs: transport - driver
|
|
1029
862
|
_this.methods = {};
|
|
1030
863
|
_this.transports = {};
|
|
1031
864
|
_this.loaded = 0;
|
|
1032
865
|
_this.sequence = [];
|
|
1033
866
|
_this.allowed = [];
|
|
1034
|
-
_this.secure = true;
|
|
867
|
+
_this.secure = true;
|
|
868
|
+
|
|
869
|
+
// Guarding the use of the window object in environments where it might
|
|
1035
870
|
// not be available, such as during server - side rendering in a framework
|
|
1036
871
|
// like Next.js
|
|
1037
|
-
|
|
1038
872
|
if (typeof window !== 'undefined') {
|
|
1039
873
|
_this.secure = window.location.protocol.indexOf('https') === 0;
|
|
1040
|
-
}
|
|
1041
|
-
|
|
874
|
+
}
|
|
1042
875
|
|
|
876
|
+
// list of connection methods which where unsuccessful
|
|
1043
877
|
_this.unsuccessful = [];
|
|
1044
878
|
return _this;
|
|
1045
879
|
}
|
|
1046
|
-
|
|
1047
|
-
_createClass(TransportManager, [{
|
|
880
|
+
_inherits(TransportManager, _Emitter);
|
|
881
|
+
return _createClass(TransportManager, [{
|
|
1048
882
|
key: "_instantiate",
|
|
1049
883
|
value: function _instantiate() {
|
|
1050
884
|
var _this2 = this;
|
|
885
|
+
log(TYPE_MANAGER, 'TransportManager::instantiate');
|
|
1051
886
|
|
|
1052
|
-
|
|
1053
|
-
|
|
887
|
+
// instantiate all transports
|
|
1054
888
|
this.allowed.forEach(function (method) {
|
|
1055
|
-
var config = _this2._getMethodConfig(method);
|
|
1056
|
-
|
|
889
|
+
var config = _this2._getMethodConfig(method);
|
|
1057
890
|
|
|
891
|
+
// pick the random host
|
|
1058
892
|
var host = config.hosts[Math.floor(Math.random() * config.hosts.length)];
|
|
1059
893
|
var TransportKlass = _this2.methods[method].transport;
|
|
1060
894
|
var DriverKlass = _this2.methods[method].driver;
|
|
@@ -1066,8 +900,9 @@ var TransportManager = /*#__PURE__*/function (_Emitter) {
|
|
|
1066
900
|
});
|
|
1067
901
|
_this2.transports[method] = transport;
|
|
1068
902
|
transport.bind(Transport.ON_READY, _this2._handleTransportReady.bind(_this2));
|
|
1069
|
-
}, this);
|
|
903
|
+
}, this);
|
|
1070
904
|
|
|
905
|
+
// initialise all transports
|
|
1071
906
|
for (var method in this.transports) {
|
|
1072
907
|
if (Object.prototype.hasOwnProperty.call(this.transports, method)) {
|
|
1073
908
|
this.transports[method].init();
|
|
@@ -1085,7 +920,6 @@ var TransportManager = /*#__PURE__*/function (_Emitter) {
|
|
|
1085
920
|
key: "_handleTransportReady",
|
|
1086
921
|
value: function _handleTransportReady() {
|
|
1087
922
|
this.loaded += 1;
|
|
1088
|
-
|
|
1089
923
|
if (this.loaded === this.allowed.length) {
|
|
1090
924
|
this.trigger(this.ON_READY);
|
|
1091
925
|
}
|
|
@@ -1099,28 +933,25 @@ var TransportManager = /*#__PURE__*/function (_Emitter) {
|
|
|
1099
933
|
key: "next",
|
|
1100
934
|
value: function next() {
|
|
1101
935
|
this.idx += 1;
|
|
1102
|
-
|
|
1103
936
|
if (this.idx >= this.allowed.length) {
|
|
1104
937
|
return false;
|
|
1105
938
|
}
|
|
1106
|
-
|
|
1107
939
|
return this.current();
|
|
1108
940
|
}
|
|
1109
941
|
}, {
|
|
1110
942
|
key: "reset",
|
|
1111
943
|
value: function reset() {
|
|
1112
944
|
this.allowed = [];
|
|
1113
|
-
this.unsuccessful = [];
|
|
945
|
+
this.unsuccessful = [];
|
|
1114
946
|
|
|
947
|
+
// gather all methods in one array in correct connection sequence
|
|
1115
948
|
for (var i = 0, l = this.sequence.length; i < l; i += 1) {
|
|
1116
949
|
// shift method's idx by the value of the current method idx
|
|
1117
950
|
var method = this.sequence[(i + this.idx) % l];
|
|
1118
|
-
|
|
1119
951
|
if (this.methods[method].driver.hasSupport()) {
|
|
1120
952
|
this.allowed.push(method);
|
|
1121
953
|
}
|
|
1122
954
|
}
|
|
1123
|
-
|
|
1124
955
|
this.idx = 0;
|
|
1125
956
|
}
|
|
1126
957
|
}, {
|
|
@@ -1136,7 +967,6 @@ var TransportManager = /*#__PURE__*/function (_Emitter) {
|
|
|
1136
967
|
key: "init",
|
|
1137
968
|
value: function init() {
|
|
1138
969
|
var _this3 = this;
|
|
1139
|
-
|
|
1140
970
|
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1141
971
|
this.config = config;
|
|
1142
972
|
this.idx = 0;
|
|
@@ -1151,74 +981,67 @@ var TransportManager = /*#__PURE__*/function (_Emitter) {
|
|
|
1151
981
|
driver: WebSocketDriver,
|
|
1152
982
|
transport: SocketTransport
|
|
1153
983
|
};
|
|
1154
|
-
|
|
1155
984
|
if (ENMASSE_OVERRIDE_METHODS) {
|
|
1156
985
|
this.sequence = ENMASSE_OVERRIDE_METHODS;
|
|
1157
986
|
} else {
|
|
1158
987
|
this.config.methods.forEach(function (method) {
|
|
1159
988
|
return _this3.sequence.push(method.type);
|
|
1160
989
|
}, this);
|
|
1161
|
-
}
|
|
990
|
+
}
|
|
1162
991
|
|
|
992
|
+
// remove unsupported methods
|
|
1163
993
|
/* eslint-disable */
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
994
|
this.sequence = this.sequence.filter(function (item) {
|
|
1167
995
|
return Object.prototype.hasOwnProperty.call(_this3.methods, item);
|
|
1168
996
|
});
|
|
1169
997
|
/* eslint-enable */
|
|
1170
998
|
|
|
1171
999
|
this.reset();
|
|
1172
|
-
|
|
1173
1000
|
this._instantiate();
|
|
1174
1001
|
}
|
|
1175
1002
|
}]);
|
|
1176
|
-
|
|
1177
|
-
return TransportManager;
|
|
1178
1003
|
}(Emitter);
|
|
1179
|
-
|
|
1180
1004
|
var TransportManager$1 = new TransportManager();
|
|
1181
1005
|
|
|
1182
1006
|
/* eslint @typescript-eslint/no-use-before-define: ["error", { "variables": false }] */
|
|
1183
|
-
|
|
1184
1007
|
var ConnectionManager = function () {
|
|
1185
1008
|
var self = new Emitter();
|
|
1186
1009
|
self.trigger = self.emit;
|
|
1187
1010
|
self.bind = self.on;
|
|
1188
1011
|
self.unbind = self.off;
|
|
1012
|
+
|
|
1189
1013
|
/*
|
|
1190
1014
|
* Constants
|
|
1191
1015
|
*/
|
|
1192
|
-
|
|
1193
1016
|
var CONNECT_DELAYS = [0, 3, 5, 10, 20, 30, 45, 60];
|
|
1017
|
+
|
|
1194
1018
|
/*
|
|
1195
1019
|
* States
|
|
1196
1020
|
*/
|
|
1197
|
-
|
|
1198
1021
|
self.STATE_DISCONNECTED = 'state_disconnected';
|
|
1199
1022
|
self.STATE_DISCONNECTING = 'state_disconnecting';
|
|
1200
1023
|
self.STATE_CONNECTING = 'state_connecting';
|
|
1201
1024
|
self.STATE_CONNECTED = 'state_connected';
|
|
1025
|
+
|
|
1202
1026
|
/*
|
|
1203
1027
|
* Events
|
|
1204
1028
|
*/
|
|
1205
|
-
|
|
1206
1029
|
self.ON_MESSAGE = 'message';
|
|
1207
1030
|
self.ON_STATE = 'state';
|
|
1031
|
+
|
|
1208
1032
|
/*
|
|
1209
1033
|
* Private variables
|
|
1210
1034
|
*/
|
|
1211
|
-
|
|
1212
1035
|
var config = null;
|
|
1213
1036
|
var state = self.STATE_DISCONNECTED;
|
|
1214
1037
|
var transport = null;
|
|
1215
|
-
var attempt = 1;
|
|
1038
|
+
var attempt = 1;
|
|
1216
1039
|
|
|
1040
|
+
// Timestamp to track when the app was backgrounded
|
|
1217
1041
|
var backgroundedAt = null;
|
|
1218
1042
|
var inactivityTimeout = {
|
|
1219
1043
|
start: function start() {
|
|
1220
1044
|
var _this = this;
|
|
1221
|
-
|
|
1222
1045
|
log(TYPE_MANAGER_EXTRA, 'ConnectionManager::inactivityTimeout::start');
|
|
1223
1046
|
var stamp = now();
|
|
1224
1047
|
this.interval = setInterval(function () {
|
|
@@ -1244,7 +1067,6 @@ var ConnectionManager = function () {
|
|
|
1244
1067
|
var connectTimeout = {
|
|
1245
1068
|
start: function start() {
|
|
1246
1069
|
var _this2 = this;
|
|
1247
|
-
|
|
1248
1070
|
log(TYPE_MANAGER_EXTRA, 'ConnectionManager::connectTimeout::start');
|
|
1249
1071
|
this.timeout = setTimeout(function () {
|
|
1250
1072
|
_this2.resolve();
|
|
@@ -1263,7 +1085,6 @@ var ConnectionManager = function () {
|
|
|
1263
1085
|
active: false,
|
|
1264
1086
|
start: function start(delay) {
|
|
1265
1087
|
var _this3 = this;
|
|
1266
|
-
|
|
1267
1088
|
log(TYPE_MANAGER_EXTRA, 'ConnectionManager::connectDelay::start');
|
|
1268
1089
|
this.active = true;
|
|
1269
1090
|
this.timeout = setTimeout(function () {
|
|
@@ -1281,7 +1102,6 @@ var ConnectionManager = function () {
|
|
|
1281
1102
|
connect();
|
|
1282
1103
|
}
|
|
1283
1104
|
};
|
|
1284
|
-
|
|
1285
1105
|
var initTransport = function initTransport(newTransport) {
|
|
1286
1106
|
log(TYPE_MANAGER, 'ConnectionManager::initTransport');
|
|
1287
1107
|
transport = newTransport;
|
|
@@ -1291,14 +1111,11 @@ var ConnectionManager = function () {
|
|
|
1291
1111
|
transport.bind(Transport.ON_CONNECT_LOST, handleTransportConnectLost);
|
|
1292
1112
|
transport.bind(Transport.ON_DISCONNECTED, handleTransportDisconnected);
|
|
1293
1113
|
};
|
|
1294
|
-
|
|
1295
1114
|
var teardownTransport = function teardownTransport() {
|
|
1296
1115
|
log(TYPE_MANAGER, 'ConnectionManager::teardownTransport');
|
|
1297
|
-
|
|
1298
1116
|
if (transport === null) {
|
|
1299
1117
|
return;
|
|
1300
1118
|
}
|
|
1301
|
-
|
|
1302
1119
|
transport.unbind(Transport.ON_MESSAGE, handleTransportMessage);
|
|
1303
1120
|
transport.unbind(Transport.ON_CONNECTED, handleTransportConnected);
|
|
1304
1121
|
transport.unbind(Transport.ON_CONNECT_FAILED, handleTransportConnectFailed);
|
|
@@ -1306,11 +1123,9 @@ var ConnectionManager = function () {
|
|
|
1306
1123
|
transport.unbind(Transport.ON_DISCONNECTED, handleTransportDisconnected);
|
|
1307
1124
|
transport = null;
|
|
1308
1125
|
};
|
|
1309
|
-
|
|
1310
1126
|
var handleTransportMessage = function handleTransportMessage(message) {
|
|
1311
1127
|
log(TYPE_MANAGER, 'ConnectionManager::handleTransportMessage', message);
|
|
1312
1128
|
var messages = message.split('\0');
|
|
1313
|
-
|
|
1314
1129
|
for (var i = 0; i < messages.length; i += 1) {
|
|
1315
1130
|
if (messages[i].length > 0) {
|
|
1316
1131
|
inactivityTimeout.reset();
|
|
@@ -1319,86 +1134,71 @@ var ConnectionManager = function () {
|
|
|
1319
1134
|
}
|
|
1320
1135
|
}
|
|
1321
1136
|
};
|
|
1322
|
-
|
|
1323
1137
|
var handleTransportConnected = function handleTransportConnected() {
|
|
1324
1138
|
log(TYPE_MANAGER, 'ConnectionManager::handleTransportConnected');
|
|
1325
1139
|
setStateToConnected();
|
|
1326
1140
|
};
|
|
1327
|
-
|
|
1328
1141
|
var handleTransportConnectFailed = function handleTransportConnectFailed() {
|
|
1329
1142
|
log(TYPE_MANAGER, 'ConnectionManager::handleTransportConnectFailed');
|
|
1330
1143
|
disconnectingOnConnectFailed();
|
|
1331
1144
|
};
|
|
1332
|
-
|
|
1333
1145
|
var handleTransportConnectLost = function handleTransportConnectLost() {
|
|
1334
1146
|
log(TYPE_MANAGER, 'ConnectionManager::handleTransportConnectLost');
|
|
1335
1147
|
disconnectingOnConnectLost();
|
|
1336
1148
|
};
|
|
1337
|
-
|
|
1338
1149
|
var handleTransportDisconnected = function handleTransportDisconnected() {
|
|
1339
1150
|
log(TYPE_MANAGER, 'ConnectionManager::handleTransportDisconnected');
|
|
1340
|
-
|
|
1341
1151
|
switch (state) {
|
|
1342
1152
|
case self.STATE_CONNECTED:
|
|
1343
1153
|
disconnectedOnConnectLost();
|
|
1344
1154
|
break;
|
|
1345
|
-
|
|
1346
1155
|
case self.STATE_CONNECTING:
|
|
1347
1156
|
disconnectedOnConnectFailed();
|
|
1348
1157
|
break;
|
|
1349
|
-
|
|
1350
1158
|
case self.STATE_DISCONNECTING:
|
|
1351
1159
|
setStateToDisconnected();
|
|
1352
1160
|
break;
|
|
1353
1161
|
}
|
|
1354
1162
|
};
|
|
1355
|
-
|
|
1356
1163
|
var disconnectingOnConnectFailed = function disconnectingOnConnectFailed() {
|
|
1357
1164
|
log(TYPE_MANAGER, 'ConnectionManager::disconnectingOnConnectFailed()');
|
|
1358
1165
|
disconnect();
|
|
1359
1166
|
};
|
|
1360
|
-
|
|
1361
1167
|
var disconnectingOnConnectLost = function disconnectingOnConnectLost() {
|
|
1362
1168
|
log(TYPE_MANAGER, 'ConnectionManager::disconnectingOnConnectLost()');
|
|
1363
1169
|
disconnect();
|
|
1364
1170
|
};
|
|
1365
|
-
|
|
1366
1171
|
var disconnectedOnConnectLost = function disconnectedOnConnectLost() {
|
|
1367
1172
|
log(TYPE_MANAGER, 'ConnectionManager::disconnectedOnConnectLost()');
|
|
1368
|
-
teardownTransport();
|
|
1173
|
+
teardownTransport();
|
|
1369
1174
|
|
|
1175
|
+
// automatically reconnect
|
|
1370
1176
|
setStateToConnecting();
|
|
1371
1177
|
};
|
|
1372
|
-
|
|
1373
1178
|
var disconnectedOnConnectFailed = function disconnectedOnConnectFailed() {
|
|
1374
1179
|
log(TYPE_MANAGER, 'ConnectionManager::disconnectedOnConnectFailed()');
|
|
1375
1180
|
TransportManager$1.addUnsuccessful(transport);
|
|
1376
1181
|
teardownTransport();
|
|
1377
|
-
|
|
1378
1182
|
if (TransportManager$1.next() === false) {
|
|
1379
1183
|
setStateToConnecting();
|
|
1380
1184
|
} else {
|
|
1381
1185
|
connect();
|
|
1382
1186
|
}
|
|
1383
1187
|
};
|
|
1384
|
-
|
|
1385
1188
|
var setStateToConnecting = function setStateToConnecting() {
|
|
1386
1189
|
log(TYPE_MANAGER, 'ConnectionManager::setStateToConnecting()');
|
|
1387
1190
|
var delay;
|
|
1388
|
-
|
|
1389
1191
|
if (attempt >= CONNECT_DELAYS.length) {
|
|
1390
1192
|
delay = CONNECT_DELAYS[CONNECT_DELAYS.length - 1];
|
|
1391
1193
|
} else {
|
|
1392
1194
|
delay = CONNECT_DELAYS[attempt - 1];
|
|
1393
1195
|
}
|
|
1394
|
-
|
|
1395
1196
|
state = self.STATE_CONNECTING;
|
|
1396
1197
|
self.trigger(self.ON_STATE, state, attempt, delay);
|
|
1397
1198
|
TransportManager$1.reset();
|
|
1398
1199
|
attempt += 1;
|
|
1399
1200
|
connectDelay.start(delay);
|
|
1400
1201
|
};
|
|
1401
|
-
|
|
1402
1202
|
var setStateToConnected = function setStateToConnected() {
|
|
1403
1203
|
log(TYPE_MANAGER, 'ConnectionManager::setStateToConnected()');
|
|
1404
1204
|
attempt = 1;
|
|
@@ -1409,14 +1209,12 @@ var ConnectionManager = function () {
|
|
|
1409
1209
|
state = self.STATE_CONNECTED;
|
|
1410
1210
|
self.trigger(self.ON_STATE, state);
|
|
1411
1211
|
};
|
|
1412
|
-
|
|
1413
1212
|
var setStateToDisconnecting = function setStateToDisconnecting() {
|
|
1414
1213
|
log(TYPE_MANAGER, 'ConnectionManager::setStateToDisconnecting()');
|
|
1415
1214
|
state = self.STATE_DISCONNECTING;
|
|
1416
1215
|
self.trigger(self.ON_STATE, state);
|
|
1417
1216
|
disconnect();
|
|
1418
1217
|
};
|
|
1419
|
-
|
|
1420
1218
|
var setStateToDisconnected = function setStateToDisconnected() {
|
|
1421
1219
|
log(TYPE_MANAGER, 'ConnectionManager::setStateToDisconnected()');
|
|
1422
1220
|
attempt = 1;
|
|
@@ -1425,7 +1223,6 @@ var ConnectionManager = function () {
|
|
|
1425
1223
|
state = self.STATE_DISCONNECTED;
|
|
1426
1224
|
self.trigger(self.ON_STATE, state);
|
|
1427
1225
|
};
|
|
1428
|
-
|
|
1429
1226
|
var connect = function connect() {
|
|
1430
1227
|
if (state === self.STATE_CONNECTING) {
|
|
1431
1228
|
connectTimeout.start();
|
|
@@ -1433,18 +1230,17 @@ var ConnectionManager = function () {
|
|
|
1433
1230
|
transport.connect();
|
|
1434
1231
|
}
|
|
1435
1232
|
};
|
|
1436
|
-
|
|
1437
1233
|
var disconnect = function disconnect() {
|
|
1438
1234
|
inactivityTimeout.stop();
|
|
1439
1235
|
connectTimeout.stop();
|
|
1440
1236
|
connectDelay.stop();
|
|
1441
|
-
|
|
1442
1237
|
if (transport) {
|
|
1443
1238
|
transport.disconnect();
|
|
1444
1239
|
} else {
|
|
1445
1240
|
setStateToDisconnected();
|
|
1446
1241
|
}
|
|
1447
1242
|
};
|
|
1243
|
+
|
|
1448
1244
|
/**
|
|
1449
1245
|
* Handles changes in the document's visibility state (visible/hidden).
|
|
1450
1246
|
*
|
|
@@ -1457,56 +1253,46 @@ var ConnectionManager = function () {
|
|
|
1457
1253
|
* Note on Safari (ios and desktop) and Firefox quirk: visibilitychange event is fired
|
|
1458
1254
|
* immidiately when the page is loaded, even if the page is visible.
|
|
1459
1255
|
*/
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
1256
|
var handleVisibilityChange = function handleVisibilityChange() {
|
|
1463
1257
|
log(TYPE_MANAGER, 'ConnectionManager::handleVisibilityChange()', document.visibilityState);
|
|
1464
|
-
|
|
1465
1258
|
switch (document.visibilityState) {
|
|
1466
1259
|
case 'visible':
|
|
1467
1260
|
if (backgroundedAt === null) {
|
|
1468
1261
|
return;
|
|
1469
1262
|
}
|
|
1470
|
-
|
|
1471
1263
|
if (state !== self.STATE_CONNECTED) {
|
|
1472
1264
|
return;
|
|
1473
1265
|
}
|
|
1474
|
-
|
|
1475
1266
|
if (Date.now() - backgroundedAt > config.background_timeout * 1000) {
|
|
1476
1267
|
log(TYPE_MANAGER, 'ConnectionManager::handleVisibilityChange()', 'disconnecting due to background timeout');
|
|
1477
1268
|
disconnect();
|
|
1478
1269
|
}
|
|
1479
|
-
|
|
1480
1270
|
backgroundedAt = null;
|
|
1481
1271
|
break;
|
|
1482
|
-
|
|
1483
1272
|
case 'hidden':
|
|
1484
1273
|
backgroundedAt = Date.now();
|
|
1485
1274
|
break;
|
|
1486
1275
|
}
|
|
1487
1276
|
};
|
|
1488
|
-
|
|
1489
1277
|
var handleNetworkStatus = function handleNetworkStatus() {
|
|
1490
1278
|
if (!navigator.onLine && state === self.STATE_CONNECTED) {
|
|
1491
1279
|
log(TYPE_MANAGER, 'ConnectionManager::handleNetworkStatus()', 'disconnecting due to network loss');
|
|
1492
1280
|
disconnect();
|
|
1493
1281
|
}
|
|
1494
1282
|
};
|
|
1495
|
-
|
|
1496
1283
|
self.connect = function () {
|
|
1497
|
-
log(TYPE_MANAGER, 'ConnectionManager::connect()');
|
|
1284
|
+
log(TYPE_MANAGER, 'ConnectionManager::connect()');
|
|
1498
1285
|
|
|
1286
|
+
// resolve connect instantly if the process has been already postponed
|
|
1499
1287
|
if (connectDelay.active) {
|
|
1500
1288
|
connectDelay.resolve();
|
|
1501
1289
|
} else if (state === self.STATE_DISCONNECTED) {
|
|
1502
1290
|
setStateToConnecting();
|
|
1503
1291
|
}
|
|
1504
|
-
|
|
1505
1292
|
window.addEventListener('online', handleNetworkStatus);
|
|
1506
1293
|
window.addEventListener('offline', handleNetworkStatus);
|
|
1507
1294
|
window.addEventListener('visibilitychange', handleVisibilityChange);
|
|
1508
1295
|
};
|
|
1509
|
-
|
|
1510
1296
|
self.disconnect = function () {
|
|
1511
1297
|
log(TYPE_MANAGER, 'ConnectionManager::disconnect()');
|
|
1512
1298
|
setStateToDisconnecting();
|
|
@@ -1514,79 +1300,58 @@ var ConnectionManager = function () {
|
|
|
1514
1300
|
window.removeEventListener('offline', handleNetworkStatus);
|
|
1515
1301
|
window.removeEventListener('visibilitychange', handleVisibilityChange);
|
|
1516
1302
|
};
|
|
1517
|
-
|
|
1518
1303
|
self.send = function (sscp, success, failure) {
|
|
1519
1304
|
log(TYPE_MANAGER, 'ConnectionManager::send', sscp);
|
|
1520
|
-
|
|
1521
1305
|
success = success || function () {};
|
|
1522
|
-
|
|
1523
1306
|
failure = failure || function () {};
|
|
1524
|
-
|
|
1525
1307
|
transport.send(sscp, success, failure);
|
|
1526
1308
|
};
|
|
1527
|
-
|
|
1528
1309
|
self.getConnectAttempt = function () {
|
|
1529
1310
|
return attempt;
|
|
1530
1311
|
};
|
|
1531
|
-
|
|
1532
1312
|
self.init = function (cfg) {
|
|
1533
1313
|
log(TYPE_MANAGER, 'ConnectionManager::init()', cfg);
|
|
1534
1314
|
config = cfg;
|
|
1535
1315
|
};
|
|
1536
|
-
|
|
1537
1316
|
return self;
|
|
1538
1317
|
}();
|
|
1539
1318
|
|
|
1540
|
-
function
|
|
1541
|
-
|
|
1542
|
-
function _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; } }
|
|
1543
|
-
|
|
1319
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
1320
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
1544
1321
|
var Demographics = /*#__PURE__*/function (_Emitter) {
|
|
1545
|
-
_inherits(Demographics, _Emitter);
|
|
1546
|
-
|
|
1547
|
-
var _super = _createSuper(Demographics);
|
|
1548
|
-
|
|
1549
1322
|
function Demographics() {
|
|
1550
1323
|
var _this;
|
|
1551
|
-
|
|
1552
1324
|
_classCallCheck(this, Demographics);
|
|
1553
|
-
|
|
1554
1325
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1555
1326
|
args[_key] = arguments[_key];
|
|
1556
1327
|
}
|
|
1557
|
-
|
|
1558
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
1328
|
+
_this = _callSuper(this, Demographics, [].concat(args));
|
|
1559
1329
|
_this.ON_ADD_COUNTER = 'add-counter';
|
|
1560
1330
|
_this.trigger = _this.emit;
|
|
1561
1331
|
_this.bind = _this.on;
|
|
1562
1332
|
_this.unbind = _this.off;
|
|
1563
1333
|
return _this;
|
|
1564
1334
|
}
|
|
1565
|
-
|
|
1566
|
-
_createClass(Demographics, [{
|
|
1335
|
+
_inherits(Demographics, _Emitter);
|
|
1336
|
+
return _createClass(Demographics, [{
|
|
1567
1337
|
key: "addCounter",
|
|
1568
1338
|
value: function addCounter(channel, eventId, segment, counter) {
|
|
1569
1339
|
var round = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
|
|
1570
1340
|
var min = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
|
|
1571
1341
|
var max = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
|
|
1572
1342
|
log(TYPE_SERVICE, 'Demographics::addCounter', channel, eventId, segment, counter, round, min, max);
|
|
1573
|
-
|
|
1574
1343
|
if (!channel) {
|
|
1575
1344
|
return;
|
|
1576
1345
|
}
|
|
1577
|
-
|
|
1578
1346
|
if (!eventId) {
|
|
1579
1347
|
return;
|
|
1580
1348
|
}
|
|
1581
|
-
|
|
1582
1349
|
if (!segment || segment.constructor !== Array || !segment.length || segment.length % 2 !== 0) {
|
|
1583
1350
|
return;
|
|
1584
1351
|
}
|
|
1585
|
-
|
|
1586
1352
|
if (counter !== parseInt(counter, 10)) {
|
|
1587
1353
|
return;
|
|
1588
1354
|
}
|
|
1589
|
-
|
|
1590
1355
|
var keys = segment.filter(function (v, i) {
|
|
1591
1356
|
return (i + 1) % 2;
|
|
1592
1357
|
}).join(':');
|
|
@@ -1596,20 +1361,19 @@ var Demographics = /*#__PURE__*/function (_Emitter) {
|
|
|
1596
1361
|
this.trigger(this.ON_ADD_COUNTER, channel, [eventId, min, max, round, keys, values, counter]);
|
|
1597
1362
|
}
|
|
1598
1363
|
}]);
|
|
1599
|
-
|
|
1600
|
-
return Demographics;
|
|
1601
1364
|
}(Emitter);
|
|
1602
|
-
|
|
1603
1365
|
var Demographics$1 = new Demographics();
|
|
1604
1366
|
|
|
1605
1367
|
var Enmasse = function () {
|
|
1606
1368
|
/*
|
|
1607
1369
|
* Link to the scope
|
|
1608
1370
|
*/
|
|
1371
|
+
|
|
1609
1372
|
var self = new Emitter();
|
|
1610
1373
|
self.trigger = self.emit;
|
|
1611
1374
|
self.bind = self.on;
|
|
1612
1375
|
self.unbind = self.off;
|
|
1376
|
+
|
|
1613
1377
|
/*
|
|
1614
1378
|
* Constants
|
|
1615
1379
|
*/
|
|
@@ -1633,199 +1397,178 @@ var Enmasse = function () {
|
|
|
1633
1397
|
self.STATE_DISCONNECTED = 'disconnected';
|
|
1634
1398
|
self.STATE_CONNECTED = 'connected';
|
|
1635
1399
|
self.STATE_CONNECTING = 'connecting';
|
|
1636
|
-
self.Demographics = Demographics$1;
|
|
1400
|
+
self.Demographics = Demographics$1;
|
|
1401
|
+
|
|
1402
|
+
// var CALLBACK_NAME = "__enmasse_callback";
|
|
1637
1403
|
// var CONFIG_TIMEOUT = 5000;
|
|
1638
1404
|
|
|
1639
1405
|
var PARAM_SESSION_ID = 'enmasse_session_id';
|
|
1406
|
+
|
|
1640
1407
|
/*
|
|
1641
1408
|
* Enmasse properties
|
|
1642
1409
|
*/
|
|
1410
|
+
|
|
1643
1411
|
// Link to the config file.
|
|
1412
|
+
var configFile = null;
|
|
1644
1413
|
|
|
1645
|
-
|
|
1414
|
+
// list of arbitray data passed into handshake
|
|
1646
1415
|
// message along with the protocol version
|
|
1416
|
+
var info = [];
|
|
1647
1417
|
|
|
1648
|
-
|
|
1418
|
+
// session id is generated by server and passed
|
|
1649
1419
|
// on client on handshake
|
|
1420
|
+
var sessionId = null;
|
|
1650
1421
|
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
var queue = null; // current state of the state machine
|
|
1422
|
+
// out messages queue
|
|
1423
|
+
var queue = null;
|
|
1654
1424
|
|
|
1655
|
-
|
|
1425
|
+
// current state of the state machine
|
|
1426
|
+
var state = self.STATE_DISCONNECTED;
|
|
1656
1427
|
|
|
1657
|
-
|
|
1428
|
+
// system channel
|
|
1429
|
+
var sysChannel = null;
|
|
1658
1430
|
|
|
1659
|
-
|
|
1431
|
+
// force secure connection
|
|
1432
|
+
var forceSecure = false;
|
|
1660
1433
|
|
|
1434
|
+
// sign in promise object
|
|
1661
1435
|
var loginContext = {
|
|
1662
1436
|
inProgress: false,
|
|
1663
1437
|
success: function success() {},
|
|
1664
1438
|
failure: function failure() {}
|
|
1665
1439
|
};
|
|
1440
|
+
|
|
1666
1441
|
/*
|
|
1667
1442
|
* Private methods
|
|
1668
1443
|
*/
|
|
1669
1444
|
|
|
1670
1445
|
var storeSession = /*#__PURE__*/function () {
|
|
1671
|
-
var _ref = _asyncToGenerator(
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
case 8:
|
|
1690
|
-
case "end":
|
|
1691
|
-
return _context.stop();
|
|
1692
|
-
}
|
|
1446
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(id) {
|
|
1447
|
+
var _t;
|
|
1448
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
1449
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1450
|
+
case 0:
|
|
1451
|
+
_context.prev = 0;
|
|
1452
|
+
_context.next = 1;
|
|
1453
|
+
return storageWrite(PARAM_SESSION_ID, id);
|
|
1454
|
+
case 1:
|
|
1455
|
+
_context.next = 3;
|
|
1456
|
+
break;
|
|
1457
|
+
case 2:
|
|
1458
|
+
_context.prev = 2;
|
|
1459
|
+
_t = _context["catch"](0);
|
|
1460
|
+
console.error("Failed to persist session to shared storage: ".concat(getErrorMessage(_t)));
|
|
1461
|
+
case 3:
|
|
1462
|
+
case "end":
|
|
1463
|
+
return _context.stop();
|
|
1693
1464
|
}
|
|
1694
|
-
}, _callee, null, [[0,
|
|
1465
|
+
}, _callee, null, [[0, 2]]);
|
|
1695
1466
|
}));
|
|
1696
|
-
|
|
1697
1467
|
return function storeSession(_x) {
|
|
1698
1468
|
return _ref.apply(this, arguments);
|
|
1699
1469
|
};
|
|
1700
1470
|
}();
|
|
1701
|
-
|
|
1702
1471
|
var restoreSession = /*#__PURE__*/function () {
|
|
1703
|
-
var _ref2 = _asyncToGenerator(
|
|
1704
|
-
var restoredId;
|
|
1705
|
-
return _regeneratorRuntime.wrap(function
|
|
1706
|
-
while (1) {
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1472
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
1473
|
+
var restoredId, _t2, _t3;
|
|
1474
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
1475
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1476
|
+
case 0:
|
|
1477
|
+
restoredId = null; // Read session from shared storage
|
|
1478
|
+
_context2.prev = 1;
|
|
1479
|
+
_context2.next = 2;
|
|
1480
|
+
return storageRead(PARAM_SESSION_ID);
|
|
1481
|
+
case 2:
|
|
1482
|
+
restoredId = _context2.sent;
|
|
1483
|
+
_context2.next = 4;
|
|
1484
|
+
break;
|
|
1485
|
+
case 3:
|
|
1486
|
+
_context2.prev = 3;
|
|
1487
|
+
_t2 = _context2["catch"](1);
|
|
1488
|
+
console.error("Failed to read session from shared storage: ".concat(getErrorMessage(_t2)));
|
|
1489
|
+
case 4:
|
|
1490
|
+
if (!(restoredId !== null)) {
|
|
1491
|
+
_context2.next = 5;
|
|
1718
1492
|
break;
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
case 10:
|
|
1726
|
-
if (!(restoredId !== null)) {
|
|
1727
|
-
_context2.next = 12;
|
|
1728
|
-
break;
|
|
1729
|
-
}
|
|
1730
|
-
|
|
1731
|
-
return _context2.abrupt("return", restoredId);
|
|
1732
|
-
|
|
1733
|
-
case 12:
|
|
1734
|
-
if (!(getParentApplication() === null)) {
|
|
1735
|
-
_context2.next = 14;
|
|
1736
|
-
break;
|
|
1737
|
-
}
|
|
1738
|
-
|
|
1739
|
-
return _context2.abrupt("return", null);
|
|
1740
|
-
|
|
1741
|
-
case 14:
|
|
1742
|
-
try {
|
|
1743
|
-
restoredId = getItem(PARAM_SESSION_ID);
|
|
1744
|
-
} catch (err) {
|
|
1745
|
-
console.error("Failed to read local session during migration: ".concat(getErrorMessage(err)));
|
|
1746
|
-
}
|
|
1747
|
-
|
|
1748
|
-
if (!(restoredId === null)) {
|
|
1749
|
-
_context2.next = 17;
|
|
1750
|
-
break;
|
|
1751
|
-
}
|
|
1752
|
-
|
|
1753
|
-
return _context2.abrupt("return", null);
|
|
1754
|
-
|
|
1755
|
-
case 17:
|
|
1756
|
-
_context2.prev = 17;
|
|
1757
|
-
_context2.next = 20;
|
|
1758
|
-
return storageWrite(PARAM_SESSION_ID, restoredId);
|
|
1759
|
-
|
|
1760
|
-
case 20:
|
|
1761
|
-
_context2.next = 25;
|
|
1493
|
+
}
|
|
1494
|
+
return _context2.abrupt("return", restoredId);
|
|
1495
|
+
case 5:
|
|
1496
|
+
if (!(getParentApplication() === null)) {
|
|
1497
|
+
_context2.next = 6;
|
|
1762
1498
|
break;
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1499
|
+
}
|
|
1500
|
+
return _context2.abrupt("return", null);
|
|
1501
|
+
case 6:
|
|
1502
|
+
try {
|
|
1503
|
+
restoredId = getItem(PARAM_SESSION_ID);
|
|
1504
|
+
} catch (err) {
|
|
1505
|
+
console.error("Failed to read local session during migration: ".concat(getErrorMessage(err)));
|
|
1506
|
+
}
|
|
1507
|
+
if (!(restoredId === null)) {
|
|
1508
|
+
_context2.next = 7;
|
|
1509
|
+
break;
|
|
1510
|
+
}
|
|
1511
|
+
return _context2.abrupt("return", null);
|
|
1512
|
+
case 7:
|
|
1513
|
+
_context2.prev = 7;
|
|
1514
|
+
_context2.next = 8;
|
|
1515
|
+
return storageWrite(PARAM_SESSION_ID, restoredId);
|
|
1516
|
+
case 8:
|
|
1517
|
+
_context2.next = 10;
|
|
1518
|
+
break;
|
|
1519
|
+
case 9:
|
|
1520
|
+
_context2.prev = 9;
|
|
1521
|
+
_t3 = _context2["catch"](7);
|
|
1522
|
+
console.error("Failed to persist session to shared storage during migration: ".concat(getErrorMessage(_t3)));
|
|
1523
|
+
case 10:
|
|
1524
|
+
return _context2.abrupt("return", restoredId);
|
|
1525
|
+
case 11:
|
|
1526
|
+
case "end":
|
|
1527
|
+
return _context2.stop();
|
|
1776
1528
|
}
|
|
1777
|
-
}, _callee2, null, [[1,
|
|
1529
|
+
}, _callee2, null, [[1, 3], [7, 9]]);
|
|
1778
1530
|
}));
|
|
1779
|
-
|
|
1780
1531
|
return function restoreSession() {
|
|
1781
1532
|
return _ref2.apply(this, arguments);
|
|
1782
1533
|
};
|
|
1783
1534
|
}();
|
|
1784
|
-
|
|
1785
1535
|
var resetSession = /*#__PURE__*/function () {
|
|
1786
|
-
var _ref3 = _asyncToGenerator(
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
case 9:
|
|
1806
|
-
case "end":
|
|
1807
|
-
return _context3.stop();
|
|
1808
|
-
}
|
|
1536
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
1537
|
+
var _t4;
|
|
1538
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
1539
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1540
|
+
case 0:
|
|
1541
|
+
sessionId = null;
|
|
1542
|
+
_context3.prev = 1;
|
|
1543
|
+
_context3.next = 2;
|
|
1544
|
+
return storageRemove(PARAM_SESSION_ID);
|
|
1545
|
+
case 2:
|
|
1546
|
+
_context3.next = 4;
|
|
1547
|
+
break;
|
|
1548
|
+
case 3:
|
|
1549
|
+
_context3.prev = 3;
|
|
1550
|
+
_t4 = _context3["catch"](1);
|
|
1551
|
+
console.error("Failed to remove session from shared storage: ".concat(getErrorMessage(_t4)));
|
|
1552
|
+
case 4:
|
|
1553
|
+
case "end":
|
|
1554
|
+
return _context3.stop();
|
|
1809
1555
|
}
|
|
1810
|
-
}, _callee3, null, [[1,
|
|
1556
|
+
}, _callee3, null, [[1, 3]]);
|
|
1811
1557
|
}));
|
|
1812
|
-
|
|
1813
1558
|
return function resetSession() {
|
|
1814
1559
|
return _ref3.apply(this, arguments);
|
|
1815
1560
|
};
|
|
1816
1561
|
}();
|
|
1817
|
-
|
|
1818
1562
|
var validateSession = function validateSession(id) {
|
|
1819
|
-
return (
|
|
1563
|
+
return (
|
|
1564
|
+
// eslint-disable-next-line
|
|
1820
1565
|
/^[a-f\d]{8}\-[a-f\d]{4}\-[a-f\d]{4}-[a-f\d]{4}\-[a-f\d]{12}$/i.test(id)
|
|
1821
1566
|
);
|
|
1822
1567
|
};
|
|
1823
|
-
|
|
1824
1568
|
var finaliseLogin = function finaliseLogin(callback) {
|
|
1825
1569
|
if (loginContext.inProgress === false) {
|
|
1826
1570
|
return;
|
|
1827
1571
|
}
|
|
1828
|
-
|
|
1829
1572
|
loginContext = {
|
|
1830
1573
|
inProgress: false,
|
|
1831
1574
|
success: function success() {},
|
|
@@ -1833,15 +1576,12 @@ var Enmasse = function () {
|
|
|
1833
1576
|
};
|
|
1834
1577
|
callback();
|
|
1835
1578
|
};
|
|
1836
|
-
|
|
1837
1579
|
var resolveLogin = function resolveLogin() {
|
|
1838
1580
|
finaliseLogin(loginContext.success);
|
|
1839
1581
|
};
|
|
1840
|
-
|
|
1841
1582
|
var rejectLogin = function rejectLogin() {
|
|
1842
1583
|
finaliseLogin(loginContext.failure);
|
|
1843
1584
|
};
|
|
1844
|
-
|
|
1845
1585
|
var setStateToDisconnected = function setStateToDisconnected() {
|
|
1846
1586
|
log(TYPE_PROTOCOL, 'Enmasse::setStateToDisconnected()');
|
|
1847
1587
|
state = self.STATE_DISCONNECTED;
|
|
@@ -1849,21 +1589,18 @@ var Enmasse = function () {
|
|
|
1849
1589
|
rejectLogin();
|
|
1850
1590
|
self.trigger(self.ON_STATE, state);
|
|
1851
1591
|
};
|
|
1852
|
-
|
|
1853
1592
|
var setStateToConnected = function setStateToConnected() {
|
|
1854
1593
|
log(TYPE_PROTOCOL, 'Enmasse::setStateToConnected()');
|
|
1855
1594
|
var time = now();
|
|
1856
1595
|
state = self.STATE_CONNECTED;
|
|
1857
1596
|
self.trigger(self.ON_STATE, state, time);
|
|
1858
1597
|
};
|
|
1859
|
-
|
|
1860
1598
|
var setStateToConnecting = function setStateToConnecting(attempt, delay) {
|
|
1861
1599
|
log(TYPE_PROTOCOL, 'Enmasse::setStateToConnecting()');
|
|
1862
1600
|
state = self.STATE_CONNECTING;
|
|
1863
1601
|
rejectLogin();
|
|
1864
1602
|
self.trigger(self.ON_STATE, state, attempt, delay);
|
|
1865
1603
|
};
|
|
1866
|
-
|
|
1867
1604
|
var parseSSCP = function parseSSCP(sscp) {
|
|
1868
1605
|
var data = {
|
|
1869
1606
|
channel: 0,
|
|
@@ -1872,22 +1609,17 @@ var Enmasse = function () {
|
|
|
1872
1609
|
body: []
|
|
1873
1610
|
};
|
|
1874
1611
|
var separator1 = sscp.indexOf('/');
|
|
1875
|
-
|
|
1876
1612
|
if (separator1 !== -1) {
|
|
1877
1613
|
var separator2 = sscp.indexOf('/', separator1 + 1);
|
|
1878
|
-
|
|
1879
1614
|
if (separator2 !== -1) {
|
|
1880
1615
|
data.channel = sscp.substr(0, separator1);
|
|
1881
1616
|
data.klass = sscp.substr(separator1 + 1, separator2 - separator1 - 1);
|
|
1882
1617
|
var separator3 = sscp.indexOf('/', separator2 + 1);
|
|
1883
|
-
|
|
1884
1618
|
if (separator3 !== -1) {
|
|
1885
1619
|
data.sent_at = parseInt(sscp.substr(separator2 + 1, separator3 - separator2 - 1), 10);
|
|
1886
1620
|
var body = sscp.substr(separator3 + 1);
|
|
1887
|
-
|
|
1888
1621
|
if (body !== '') {
|
|
1889
1622
|
var values = body.split('|');
|
|
1890
|
-
|
|
1891
1623
|
for (var i = 0, l = values.length; i < l; i += 1) {
|
|
1892
1624
|
data.body[i] = decodeURIComponent(values[i]);
|
|
1893
1625
|
}
|
|
@@ -1895,161 +1627,133 @@ var Enmasse = function () {
|
|
|
1895
1627
|
}
|
|
1896
1628
|
}
|
|
1897
1629
|
}
|
|
1898
|
-
|
|
1899
1630
|
return data;
|
|
1900
1631
|
};
|
|
1901
|
-
|
|
1902
1632
|
var stringifySSCP = function stringifySSCP(message) {
|
|
1903
1633
|
return [message.channel, message.klass, Math.floor(new Date() / 1000), message.body.join('|')].join('/');
|
|
1904
1634
|
};
|
|
1905
|
-
|
|
1906
1635
|
var runner = function runner(message) {
|
|
1907
1636
|
var success = function success() {
|
|
1908
1637
|
queue.success();
|
|
1909
1638
|
};
|
|
1910
|
-
|
|
1911
1639
|
var failure = function failure() {
|
|
1912
1640
|
queue.failure();
|
|
1913
1641
|
};
|
|
1914
|
-
|
|
1915
1642
|
ConnectionManager.send(stringifySSCP(message), success, failure);
|
|
1916
1643
|
};
|
|
1917
|
-
|
|
1918
1644
|
var handleTransportManagerReady = function handleTransportManagerReady() {
|
|
1919
1645
|
log(TYPE_PROTOCOL, 'Enmasse::handleTransportManagerReady');
|
|
1920
1646
|
self.trigger(self.ON_READY);
|
|
1921
1647
|
};
|
|
1922
|
-
|
|
1923
1648
|
var handleConnectionManagerState = function handleConnectionManagerState() {
|
|
1924
1649
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1925
1650
|
args[_key] = arguments[_key];
|
|
1926
1651
|
}
|
|
1927
|
-
|
|
1928
1652
|
log(TYPE_PROTOCOL, 'Enmasse::handleConnectionManagerState', args);
|
|
1929
|
-
|
|
1930
1653
|
switch (args[0]) {
|
|
1931
1654
|
// case ConnectionManager.STATE_DISCONNECTING:
|
|
1932
1655
|
// break;
|
|
1933
1656
|
case ConnectionManager.STATE_DISCONNECTED:
|
|
1934
1657
|
setStateToDisconnected();
|
|
1935
1658
|
break;
|
|
1936
|
-
|
|
1937
1659
|
case ConnectionManager.STATE_CONNECTING:
|
|
1938
1660
|
setStateToConnecting(args[1], args[2]);
|
|
1939
1661
|
break;
|
|
1940
|
-
|
|
1941
1662
|
case ConnectionManager.STATE_CONNECTED:
|
|
1942
1663
|
break;
|
|
1943
1664
|
}
|
|
1944
1665
|
};
|
|
1945
|
-
|
|
1946
1666
|
var handleConnectionManagerMessage = /*#__PURE__*/function () {
|
|
1947
|
-
var _ref4 = _asyncToGenerator(
|
|
1948
|
-
var data, time, clientInfo, _data$body, subscriptions;
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1667
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(message) {
|
|
1668
|
+
var data, time, clientInfo, _data$body, subscriptions, _t5;
|
|
1669
|
+
return _regeneratorRuntime.wrap(function (_context4) {
|
|
1670
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1671
|
+
case 0:
|
|
1672
|
+
log(TYPE_PROTOCOL, 'Enmasse::handleConnectionManagerMessage', message);
|
|
1673
|
+
data = parseSSCP(message);
|
|
1674
|
+
_t5 = data.klass;
|
|
1675
|
+
_context4.next = _t5 === SSCP_KLASS_AUTH ? 1 : _t5 === SSCP_KLASS_AUTHOK ? 3 : _t5 === SSCP_KLASS_LOGIN_OK ? 4 : _t5 === SSCP_KLASS_LOGIN_FAIL ? 5 : _t5 === SSCP_KLASS_PING ? 6 : _t5 === SSCP_KLASS_EOC ? 7 : 8;
|
|
1676
|
+
break;
|
|
1677
|
+
case 1:
|
|
1678
|
+
time = data.sent_at;
|
|
1679
|
+
clientInfo = ["enmassejs-".concat(self.VERSION), navigator.userAgent].concat(info); // store system channel
|
|
1680
|
+
sysChannel = data.channel;
|
|
1681
|
+
|
|
1682
|
+
// url encode each client info item
|
|
1683
|
+
clientInfo.forEach(function (item, idx) {
|
|
1684
|
+
clientInfo[idx] = encodeURIComponent(item);
|
|
1685
|
+
});
|
|
1686
|
+
if (!(sessionId === null)) {
|
|
1687
|
+
_context4.next = 2;
|
|
1958
1688
|
break;
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
case 14:
|
|
1981
|
-
setTime(time);
|
|
1982
|
-
queue.stash();
|
|
1689
|
+
}
|
|
1690
|
+
_data$body = _slicedToArray(data.body, 1);
|
|
1691
|
+
sessionId = _data$body[0];
|
|
1692
|
+
_context4.next = 2;
|
|
1693
|
+
return storeSession(sessionId);
|
|
1694
|
+
case 2:
|
|
1695
|
+
setTime(time);
|
|
1696
|
+
queue.stash();
|
|
1697
|
+
queue.push({
|
|
1698
|
+
channel: sysChannel,
|
|
1699
|
+
klass: SSCP_KLASS_AUTHR,
|
|
1700
|
+
body: [sessionId, self.PROTOCOL_VERSION, clientInfo.join(',')]
|
|
1701
|
+
}, true);
|
|
1702
|
+
queue.run();
|
|
1703
|
+
return _context4.abrupt("continue", 9);
|
|
1704
|
+
case 3:
|
|
1705
|
+
// We have to resubscribe to the previously
|
|
1706
|
+
// subscribed channels after the reconnect.
|
|
1707
|
+
subscriptions = queue.getSubscriptions();
|
|
1708
|
+
subscriptions.forEach(function (channel) {
|
|
1983
1709
|
queue.push({
|
|
1984
|
-
channel:
|
|
1985
|
-
klass:
|
|
1986
|
-
body: [
|
|
1710
|
+
channel: channel,
|
|
1711
|
+
klass: SSCP_KLASS_SUB,
|
|
1712
|
+
body: []
|
|
1987
1713
|
}, true);
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
case 27:
|
|
2012
|
-
rejectLogin();
|
|
2013
|
-
return _context4.abrupt("break", 34);
|
|
2014
|
-
|
|
2015
|
-
case 29:
|
|
2016
|
-
return _context4.abrupt("break", 34);
|
|
2017
|
-
|
|
2018
|
-
case 30:
|
|
2019
|
-
self.trigger(self.ON_EOC, data.channel);
|
|
2020
|
-
return _context4.abrupt("break", 34);
|
|
2021
|
-
|
|
2022
|
-
case 32:
|
|
2023
|
-
self.trigger(self.ON_MESSAGE, data);
|
|
2024
|
-
return _context4.abrupt("break", 34);
|
|
2025
|
-
|
|
2026
|
-
case 34:
|
|
2027
|
-
case "end":
|
|
2028
|
-
return _context4.stop();
|
|
2029
|
-
}
|
|
1714
|
+
});
|
|
1715
|
+
queue.unstash();
|
|
1716
|
+
queue.run();
|
|
1717
|
+
setStateToConnected();
|
|
1718
|
+
return _context4.abrupt("continue", 9);
|
|
1719
|
+
case 4:
|
|
1720
|
+
resolveLogin();
|
|
1721
|
+
return _context4.abrupt("continue", 9);
|
|
1722
|
+
case 5:
|
|
1723
|
+
rejectLogin();
|
|
1724
|
+
return _context4.abrupt("continue", 9);
|
|
1725
|
+
case 6:
|
|
1726
|
+
return _context4.abrupt("continue", 9);
|
|
1727
|
+
case 7:
|
|
1728
|
+
self.trigger(self.ON_EOC, data.channel);
|
|
1729
|
+
return _context4.abrupt("continue", 9);
|
|
1730
|
+
case 8:
|
|
1731
|
+
self.trigger(self.ON_MESSAGE, data);
|
|
1732
|
+
return _context4.abrupt("continue", 9);
|
|
1733
|
+
case 9:
|
|
1734
|
+
case "end":
|
|
1735
|
+
return _context4.stop();
|
|
2030
1736
|
}
|
|
2031
1737
|
}, _callee4);
|
|
2032
1738
|
}));
|
|
2033
|
-
|
|
2034
1739
|
return function handleConnectionManagerMessage(_x2) {
|
|
2035
1740
|
return _ref4.apply(this, arguments);
|
|
2036
1741
|
};
|
|
2037
1742
|
}();
|
|
2038
|
-
|
|
2039
1743
|
var handleDemographicsCounter = function handleDemographicsCounter(channel, data) {
|
|
2040
1744
|
self.send(channel, 'avgcounter', data);
|
|
2041
1745
|
};
|
|
1746
|
+
|
|
2042
1747
|
/**
|
|
2043
1748
|
* @internal
|
|
2044
1749
|
*/
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
1750
|
self.PARAM_SESSION_ID = PARAM_SESSION_ID;
|
|
1751
|
+
|
|
2048
1752
|
/**
|
|
2049
1753
|
* @internal
|
|
2050
1754
|
*/
|
|
2051
|
-
|
|
2052
1755
|
self.resetSession = resetSession;
|
|
1756
|
+
|
|
2053
1757
|
/*
|
|
2054
1758
|
* Public methods
|
|
2055
1759
|
*/
|
|
@@ -2058,12 +1762,10 @@ var Enmasse = function () {
|
|
|
2058
1762
|
log(TYPE_PROTOCOL, 'Enmasse::connect');
|
|
2059
1763
|
ConnectionManager.connect();
|
|
2060
1764
|
};
|
|
2061
|
-
|
|
2062
1765
|
self.disconnect = function () {
|
|
2063
1766
|
log(TYPE_PROTOCOL, 'Enmasse:disconnect');
|
|
2064
1767
|
ConnectionManager.disconnect();
|
|
2065
1768
|
};
|
|
2066
|
-
|
|
2067
1769
|
self.send = function (channel, klass, body) {
|
|
2068
1770
|
log(TYPE_PROTOCOL, 'Enmasse::send', channel, klass, body);
|
|
2069
1771
|
body = body || [];
|
|
@@ -2072,41 +1774,32 @@ var Enmasse = function () {
|
|
|
2072
1774
|
klass: klass,
|
|
2073
1775
|
body: body
|
|
2074
1776
|
});
|
|
2075
|
-
|
|
2076
1777
|
if (state === self.STATE_CONNECTED) {
|
|
2077
1778
|
queue.run();
|
|
2078
1779
|
}
|
|
2079
1780
|
};
|
|
2080
|
-
|
|
2081
1781
|
self.getSessionId = function () {
|
|
2082
1782
|
return sessionId;
|
|
2083
1783
|
};
|
|
2084
|
-
|
|
2085
1784
|
self.getState = function () {
|
|
2086
1785
|
return state;
|
|
2087
1786
|
};
|
|
2088
|
-
|
|
2089
1787
|
self.subscribe = function (channel) {
|
|
2090
1788
|
self.send(channel, SSCP_KLASS_SUB);
|
|
2091
1789
|
};
|
|
2092
|
-
|
|
2093
1790
|
self.unsubscribe = function (channel) {
|
|
2094
1791
|
self.send(channel, SSCP_KLASS_UNSUB);
|
|
2095
1792
|
};
|
|
2096
|
-
|
|
2097
1793
|
self.login = function (userId, timestamp, signature) {
|
|
2098
1794
|
var success = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};
|
|
2099
1795
|
var failure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {};
|
|
2100
|
-
|
|
2101
1796
|
if (sysChannel === null) {
|
|
2102
1797
|
return;
|
|
2103
1798
|
}
|
|
2104
|
-
|
|
2105
1799
|
if (loginContext.inProgress) {
|
|
2106
1800
|
console.warn('Login is already in progress');
|
|
2107
1801
|
return;
|
|
2108
1802
|
}
|
|
2109
|
-
|
|
2110
1803
|
loginContext = {
|
|
2111
1804
|
inProgress: true,
|
|
2112
1805
|
success: success,
|
|
@@ -2114,133 +1807,110 @@ var Enmasse = function () {
|
|
|
2114
1807
|
};
|
|
2115
1808
|
self.send(sysChannel, SSCP_KLASS_LOGIN, [userId, timestamp, signature]);
|
|
2116
1809
|
};
|
|
2117
|
-
|
|
2118
1810
|
self.signIn = function () {
|
|
2119
|
-
console.warn(
|
|
1811
|
+
console.warn(// eslint-disable-next-line
|
|
2120
1812
|
"signIn() method is deprecated and will be removed in future versions. Please use login() method instead");
|
|
2121
|
-
|
|
2122
1813
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
2123
1814
|
args[_key2] = arguments[_key2];
|
|
2124
1815
|
}
|
|
2125
|
-
|
|
2126
1816
|
self.login(args);
|
|
2127
1817
|
};
|
|
2128
|
-
|
|
2129
1818
|
self.init = /*#__PURE__*/function () {
|
|
2130
|
-
var _init = _asyncToGenerator(
|
|
1819
|
+
var _init = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
|
2131
1820
|
var config,
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
if (!(configFile === null)) {
|
|
2157
|
-
_context5.next = 9;
|
|
2158
|
-
break;
|
|
2159
|
-
}
|
|
2160
|
-
|
|
2161
|
-
throw 'Enmasse config file is not set';
|
|
2162
|
-
|
|
2163
|
-
case 9:
|
|
2164
|
-
if (!(sessionId !== null && !validateSession(sessionId))) {
|
|
2165
|
-
_context5.next = 12;
|
|
2166
|
-
break;
|
|
2167
|
-
}
|
|
2168
|
-
|
|
2169
|
-
_context5.next = 12;
|
|
2170
|
-
return resetSession();
|
|
2171
|
-
|
|
2172
|
-
case 12:
|
|
2173
|
-
queue = new Queue({
|
|
2174
|
-
runner: runner
|
|
2175
|
-
});
|
|
2176
|
-
TransportManager$1.bind(TransportManager$1.ON_READY, handleTransportManagerReady);
|
|
2177
|
-
ConnectionManager.bind(ConnectionManager.ON_STATE, handleConnectionManagerState);
|
|
2178
|
-
ConnectionManager.bind(ConnectionManager.ON_MESSAGE, handleConnectionManagerMessage);
|
|
2179
|
-
Demographics$1.bind(Demographics$1.ON_ADD_COUNTER, handleDemographicsCounter);
|
|
2180
|
-
_context5.prev = 17;
|
|
2181
|
-
_context5.next = 20;
|
|
2182
|
-
return fetch(configFile);
|
|
2183
|
-
|
|
2184
|
-
case 20:
|
|
2185
|
-
response = _context5.sent;
|
|
2186
|
-
status = response.status, text = response.statusText;
|
|
2187
|
-
_context5.prev = 22;
|
|
2188
|
-
_context5.next = 25;
|
|
2189
|
-
return response.json();
|
|
2190
|
-
|
|
2191
|
-
case 25:
|
|
2192
|
-
data = _context5.sent;
|
|
2193
|
-
_context5.next = 32;
|
|
1821
|
+
response,
|
|
1822
|
+
status,
|
|
1823
|
+
text,
|
|
1824
|
+
data,
|
|
1825
|
+
isSuccess,
|
|
1826
|
+
_args5 = arguments,
|
|
1827
|
+
_t7;
|
|
1828
|
+
return _regeneratorRuntime.wrap(function (_context5) {
|
|
1829
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1830
|
+
case 0:
|
|
1831
|
+
config = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : function () {};
|
|
1832
|
+
// config file is passed either as GET parameter or via constructor
|
|
1833
|
+
configFile = !ENMASSE_CONFIG ? config.config || null : ENMASSE_CONFIG;
|
|
1834
|
+
info = config.info || [];
|
|
1835
|
+
_context5.next = 1;
|
|
1836
|
+
return restoreSession();
|
|
1837
|
+
case 1:
|
|
1838
|
+
sessionId = _context5.sent;
|
|
1839
|
+
if (typeof config.forceSecure === 'boolean') {
|
|
1840
|
+
forceSecure = config.forceSecure;
|
|
1841
|
+
}
|
|
1842
|
+
if (!(configFile === null)) {
|
|
1843
|
+
_context5.next = 2;
|
|
2194
1844
|
break;
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
return _context5.abrupt("return");
|
|
2201
|
-
|
|
2202
|
-
case 32:
|
|
2203
|
-
isSuccess = status >= 200 && status <= 300 || // If you conclude with an XMLHttpRequest receiving status=0 and
|
|
2204
|
-
// statusText=null, this means the request was not allowed to be
|
|
2205
|
-
// performed.
|
|
2206
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#xmlhttprequests_being_stopped
|
|
2207
|
-
status === 0 && !!text || status === '';
|
|
2208
|
-
data.forceSecure = forceSecure;
|
|
2209
|
-
|
|
2210
|
-
if (data.background_timeout === undefined) {
|
|
2211
|
-
data.background_timeout = 0;
|
|
2212
|
-
}
|
|
2213
|
-
|
|
2214
|
-
if (isSuccess) {
|
|
2215
|
-
ConnectionManager.init(data);
|
|
2216
|
-
TransportManager$1.init(data);
|
|
2217
|
-
} else {
|
|
2218
|
-
self.trigger(self.ON_ERROR, "Failed to load config ".concat(configFile));
|
|
2219
|
-
}
|
|
2220
|
-
|
|
2221
|
-
_context5.next = 41;
|
|
1845
|
+
}
|
|
1846
|
+
throw 'Enmasse config file is not set';
|
|
1847
|
+
case 2:
|
|
1848
|
+
if (!(sessionId !== null && !validateSession(sessionId))) {
|
|
1849
|
+
_context5.next = 3;
|
|
2222
1850
|
break;
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
1851
|
+
}
|
|
1852
|
+
_context5.next = 3;
|
|
1853
|
+
return resetSession();
|
|
1854
|
+
case 3:
|
|
1855
|
+
queue = new Queue({
|
|
1856
|
+
runner: runner
|
|
1857
|
+
});
|
|
1858
|
+
TransportManager$1.bind(TransportManager$1.ON_READY, handleTransportManagerReady);
|
|
1859
|
+
ConnectionManager.bind(ConnectionManager.ON_STATE, handleConnectionManagerState);
|
|
1860
|
+
ConnectionManager.bind(ConnectionManager.ON_MESSAGE, handleConnectionManagerMessage);
|
|
1861
|
+
Demographics$1.bind(Demographics$1.ON_ADD_COUNTER, handleDemographicsCounter);
|
|
1862
|
+
_context5.prev = 4;
|
|
1863
|
+
_context5.next = 5;
|
|
1864
|
+
return fetch(configFile);
|
|
1865
|
+
case 5:
|
|
1866
|
+
response = _context5.sent;
|
|
1867
|
+
status = response.status, text = response.statusText;
|
|
1868
|
+
_context5.prev = 6;
|
|
1869
|
+
_context5.next = 7;
|
|
1870
|
+
return response.json();
|
|
1871
|
+
case 7:
|
|
1872
|
+
data = _context5.sent;
|
|
1873
|
+
_context5.next = 9;
|
|
1874
|
+
break;
|
|
1875
|
+
case 8:
|
|
1876
|
+
_context5.prev = 8;
|
|
1877
|
+
_context5["catch"](6);
|
|
1878
|
+
self.trigger(self.ON_ERROR, "Invalid JSON from config ".concat(configFile));
|
|
1879
|
+
return _context5.abrupt("return");
|
|
1880
|
+
case 9:
|
|
1881
|
+
isSuccess = status >= 200 && status <= 300 ||
|
|
1882
|
+
// If you conclude with an XMLHttpRequest receiving status=0 and
|
|
1883
|
+
// statusText=null, this means the request was not allowed to be
|
|
1884
|
+
// performed.
|
|
1885
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#xmlhttprequests_being_stopped
|
|
1886
|
+
status === 0 && !!text || status === '';
|
|
1887
|
+
data.forceSecure = forceSecure;
|
|
1888
|
+
if (data.background_timeout === undefined) {
|
|
1889
|
+
data.background_timeout = 0;
|
|
1890
|
+
}
|
|
1891
|
+
if (isSuccess) {
|
|
1892
|
+
ConnectionManager.init(data);
|
|
1893
|
+
TransportManager$1.init(data);
|
|
1894
|
+
} else {
|
|
1895
|
+
self.trigger(self.ON_ERROR, "Failed to load config ".concat(configFile));
|
|
1896
|
+
}
|
|
1897
|
+
_context5.next = 11;
|
|
1898
|
+
break;
|
|
1899
|
+
case 10:
|
|
1900
|
+
_context5.prev = 10;
|
|
1901
|
+
_t7 = _context5["catch"](4);
|
|
1902
|
+
self.trigger(self.ON_ERROR, "Error loading config: ".concat(_t7.message));
|
|
1903
|
+
case 11:
|
|
1904
|
+
case "end":
|
|
1905
|
+
return _context5.stop();
|
|
2233
1906
|
}
|
|
2234
|
-
}, _callee5, null, [[
|
|
1907
|
+
}, _callee5, null, [[4, 10], [6, 8]]);
|
|
2235
1908
|
}));
|
|
2236
|
-
|
|
2237
1909
|
function init() {
|
|
2238
1910
|
return _init.apply(this, arguments);
|
|
2239
1911
|
}
|
|
2240
|
-
|
|
2241
1912
|
return init;
|
|
2242
1913
|
}();
|
|
2243
|
-
|
|
2244
1914
|
return self;
|
|
2245
1915
|
}();
|
|
2246
1916
|
|