@microsoft/1ds-post-js 3.2.1 → 3.2.4
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/README.md +1 -1
- package/bundle/{ms.post-3.2.1.gbl.js → ms.post-3.2.4.gbl.js} +1071 -966
- package/bundle/ms.post-3.2.4.gbl.js.map +1 -0
- package/bundle/ms.post-3.2.4.gbl.min.js +7 -0
- package/bundle/ms.post-3.2.4.gbl.min.js.map +1 -0
- package/bundle/ms.post-3.2.4.integrity.json +46 -0
- package/bundle/{ms.post-3.2.1.js → ms.post-3.2.4.js} +1071 -966
- package/bundle/ms.post-3.2.4.js.map +1 -0
- package/bundle/ms.post-3.2.4.min.js +7 -0
- package/bundle/ms.post-3.2.4.min.js.map +1 -0
- package/bundle/ms.post.gbl.js +1070 -965
- package/bundle/ms.post.gbl.js.map +1 -1
- package/bundle/ms.post.gbl.min.js +2 -2
- package/bundle/ms.post.gbl.min.js.map +1 -1
- package/bundle/ms.post.integrity.json +17 -17
- package/bundle/ms.post.js +1070 -965
- package/bundle/ms.post.js.map +1 -1
- package/bundle/ms.post.min.js +2 -2
- package/bundle/ms.post.min.js.map +1 -1
- package/dist/ms.post.js +251 -212
- package/dist/ms.post.js.map +1 -1
- package/dist/ms.post.min.js +2 -2
- package/dist/ms.post.min.js.map +1 -1
- package/dist-esm/src/BatchNotificationActions.js +1 -1
- package/dist-esm/src/ClockSkewManager.js +6 -1
- package/dist-esm/src/ClockSkewManager.js.map +1 -1
- package/dist-esm/src/DataModels.js +1 -1
- package/dist-esm/src/EventBatch.d.ts +0 -5
- package/dist-esm/src/EventBatch.js +9 -4
- package/dist-esm/src/EventBatch.js.map +1 -1
- package/dist-esm/src/HttpManager.d.ts +4 -8
- package/dist-esm/src/HttpManager.js +120 -112
- package/dist-esm/src/HttpManager.js.map +1 -1
- package/dist-esm/src/Index.js +1 -1
- package/dist-esm/src/InternalConstants.d.ts +27 -0
- package/dist-esm/src/InternalConstants.js +40 -0
- package/dist-esm/src/InternalConstants.js.map +1 -0
- package/dist-esm/src/KillSwitch.js +7 -2
- package/dist-esm/src/KillSwitch.js.map +1 -1
- package/dist-esm/src/PostChannel.d.ts +3 -6
- package/dist-esm/src/PostChannel.js +97 -73
- package/dist-esm/src/PostChannel.js.map +1 -1
- package/dist-esm/src/RetryPolicy.js +1 -1
- package/dist-esm/src/Serializer.d.ts +1 -1
- package/dist-esm/src/Serializer.js +9 -3
- package/dist-esm/src/Serializer.js.map +1 -1
- package/dist-esm/src/TimeoutOverrideWrapper.d.ts +18 -0
- package/dist-esm/src/TimeoutOverrideWrapper.js +28 -0
- package/dist-esm/src/TimeoutOverrideWrapper.js.map +1 -0
- package/dist-esm/src/typings/XDomainRequest.js +1 -1
- package/package.json +5 -3
- package/src/EventBatch.ts +4 -4
- package/src/HttpManager.ts +74 -71
- package/src/InternalConstants.ts +41 -0
- package/src/KillSwitch.ts +1 -1
- package/src/PostChannel.ts +72 -44
- package/src/Serializer.ts +7 -5
- package/src/TimeoutOverrideWrapper.ts +29 -0
- package/bundle/ms.post-3.2.1.gbl.js.map +0 -1
- package/bundle/ms.post-3.2.1.gbl.min.js +0 -7
- package/bundle/ms.post-3.2.1.gbl.min.js.map +0 -1
- package/bundle/ms.post-3.2.1.integrity.json +0 -46
- package/bundle/ms.post-3.2.1.js.map +0 -1
- package/bundle/ms.post-3.2.1.min.js +0 -7
- package/bundle/ms.post-3.2.1.min.js.map +0 -1
- package/dist-esm/src/Constants.d.ts +0 -25
- package/dist-esm/src/Constants.js +0 -31
- package/dist-esm/src/Constants.js.map +0 -1
- package/src/Constants.ts +0 -28
package/dist/ms.post.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* 1DS JS SDK POST plugin, 3.2.
|
|
2
|
+
* 1DS JS SDK POST plugin, 3.2.4
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
* (Microsoft Internal Only)
|
|
5
5
|
*/
|
|
6
6
|
(function (global, factory) {
|
|
7
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@microsoft/applicationinsights-shims'), require('@microsoft/
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['exports', '@microsoft/applicationinsights-shims', '@microsoft/
|
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.oneDS = global.oneDS || {}, global.applicationinsightsShims, global.
|
|
10
|
-
})(this, (function (exports, applicationinsightsShims,
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@microsoft/applicationinsights-shims'), require('@microsoft/dynamicproto-js'), require('@microsoft/1ds-core-js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['exports', '@microsoft/applicationinsights-shims', '@microsoft/dynamicproto-js', '@microsoft/1ds-core-js'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.oneDS = global.oneDS || {}, global.applicationinsightsShims, global.dynamicProto, global._1dsCoreJs));
|
|
10
|
+
})(this, (function (exports, applicationinsightsShims, dynamicProto, _1dsCoreJs) { 'use strict';
|
|
11
11
|
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
13
13
|
|
|
@@ -17,35 +17,37 @@
|
|
|
17
17
|
var NRT_PROFILE = "NEAR_REAL_TIME";
|
|
18
18
|
var BE_PROFILE = "BEST_EFFORT";
|
|
19
19
|
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
var
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
20
|
+
var STR_POST_METHOD = "POST";
|
|
21
|
+
var STR_DISABLED_PROPERTY_NAME = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
|
|
22
|
+
var STR_DROPPED = "drop";
|
|
23
|
+
var STR_SENDING = "send";
|
|
24
|
+
var STR_REQUEUE = "requeue";
|
|
25
|
+
var STR_RESPONSE_FAIL = "rspFail";
|
|
26
|
+
var STR_OTHER = "oth";
|
|
27
|
+
var DEFAULT_CACHE_CONTROL = "no-cache, no-store";
|
|
28
|
+
var DEFAULT_CONTENT_TYPE = "application/x-json-stream";
|
|
29
|
+
var STR_CACHE_CONTROL = "cache-control";
|
|
30
|
+
var STR_CONTENT_TYPE_HEADER = "content-type";
|
|
31
|
+
var STR_KILL_TOKENS_HEADER = "kill-tokens";
|
|
32
|
+
var STR_KILL_DURATION_HEADER = "kill-duration";
|
|
33
|
+
var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
|
|
34
|
+
var STR_TIME_DELTA_HEADER = "time-delta-millis";
|
|
35
|
+
var STR_CLIENT_VERSION = "client-version";
|
|
36
|
+
var STR_CLIENT_ID = "client-id";
|
|
37
|
+
var STR_TIME_DELTA_TO_APPLY = "time-delta-to-apply-millis";
|
|
38
|
+
var STR_UPLOAD_TIME = "upload-time";
|
|
39
|
+
var STR_API_KEY = "apikey";
|
|
40
|
+
var STR_MSA_DEVICE_TICKET = "AuthMsaDeviceTicket";
|
|
41
|
+
var STR_AUTH_XTOKEN = "AuthXToken";
|
|
42
|
+
var STR_NO_RESPONSE_BODY = "NoResponseBody";
|
|
43
|
+
var STR_MSFPC = "msfpc";
|
|
44
|
+
var STR_TRACE = "trace";
|
|
45
|
+
var STR_USER = "user";
|
|
44
46
|
|
|
45
47
|
function _getEventMsfpc(theEvent) {
|
|
46
48
|
var intWeb = ((theEvent.ext || {})["intweb"]);
|
|
47
|
-
if (intWeb && _1dsCoreJs.isValueAssigned(intWeb[
|
|
48
|
-
return intWeb[
|
|
49
|
+
if (intWeb && _1dsCoreJs.isValueAssigned(intWeb[STR_MSFPC])) {
|
|
50
|
+
return intWeb[STR_MSFPC];
|
|
49
51
|
}
|
|
50
52
|
return null;
|
|
51
53
|
}
|
|
@@ -102,6 +104,115 @@
|
|
|
102
104
|
return EventBatch;
|
|
103
105
|
}());
|
|
104
106
|
|
|
107
|
+
var ClockSkewManager = /** @class */ (function () {
|
|
108
|
+
function ClockSkewManager() {
|
|
109
|
+
var _allowRequestSending = true;
|
|
110
|
+
var _shouldAddClockSkewHeaders = true;
|
|
111
|
+
var _isFirstRequest = true;
|
|
112
|
+
var _clockSkewHeaderValue = "use-collector-delta";
|
|
113
|
+
var _clockSkewSet = false;
|
|
114
|
+
dynamicProto__default(ClockSkewManager, this, function (_self) {
|
|
115
|
+
_self.allowRequestSending = function () {
|
|
116
|
+
return _allowRequestSending;
|
|
117
|
+
};
|
|
118
|
+
_self.firstRequestSent = function () {
|
|
119
|
+
if (_isFirstRequest) {
|
|
120
|
+
_isFirstRequest = false;
|
|
121
|
+
if (!_clockSkewSet) {
|
|
122
|
+
_allowRequestSending = false;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
_self.shouldAddClockSkewHeaders = function () {
|
|
127
|
+
return _shouldAddClockSkewHeaders;
|
|
128
|
+
};
|
|
129
|
+
_self.getClockSkewHeaderValue = function () {
|
|
130
|
+
return _clockSkewHeaderValue;
|
|
131
|
+
};
|
|
132
|
+
_self.setClockSkew = function (timeDeltaInMillis) {
|
|
133
|
+
if (!_clockSkewSet) {
|
|
134
|
+
if (timeDeltaInMillis) {
|
|
135
|
+
_clockSkewHeaderValue = timeDeltaInMillis;
|
|
136
|
+
_shouldAddClockSkewHeaders = true;
|
|
137
|
+
_clockSkewSet = true;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
_shouldAddClockSkewHeaders = false;
|
|
141
|
+
}
|
|
142
|
+
_allowRequestSending = true;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
ClockSkewManager.__ieDyn=1;
|
|
148
|
+
return ClockSkewManager;
|
|
149
|
+
}());
|
|
150
|
+
|
|
151
|
+
var SecToMsMultiplier = 1000;
|
|
152
|
+
var KillSwitch = /** @class */ (function () {
|
|
153
|
+
function KillSwitch() {
|
|
154
|
+
var _killedTokenDictionary = {};
|
|
155
|
+
function _normalizeTenants(values) {
|
|
156
|
+
var result = [];
|
|
157
|
+
if (values) {
|
|
158
|
+
_1dsCoreJs.arrForEach(values, function (value) {
|
|
159
|
+
result.push(_1dsCoreJs.strTrim(value));
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
dynamicProto__default(KillSwitch, this, function (_self) {
|
|
165
|
+
_self.setKillSwitchTenants = function (killTokens, killDuration) {
|
|
166
|
+
if (killTokens && killDuration) {
|
|
167
|
+
try {
|
|
168
|
+
var killedTokens = _normalizeTenants(killTokens.split(","));
|
|
169
|
+
if (killDuration === "this-request-only") {
|
|
170
|
+
return killedTokens;
|
|
171
|
+
}
|
|
172
|
+
var durationMs = parseInt(killDuration, 10) * SecToMsMultiplier;
|
|
173
|
+
for (var i = 0; i < killedTokens.length; ++i) {
|
|
174
|
+
_killedTokenDictionary[killedTokens[i]] = _1dsCoreJs.dateNow() + durationMs;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch (ex) {
|
|
178
|
+
return [];
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return [];
|
|
182
|
+
};
|
|
183
|
+
_self.isTenantKilled = function (tenantToken) {
|
|
184
|
+
var killDictionary = _killedTokenDictionary;
|
|
185
|
+
var name = _1dsCoreJs.strTrim(tenantToken);
|
|
186
|
+
if (killDictionary[name] !== undefined && killDictionary[name] > _1dsCoreJs.dateNow()) {
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
189
|
+
delete killDictionary[name];
|
|
190
|
+
return false;
|
|
191
|
+
};
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
KillSwitch.__ieDyn=1;
|
|
195
|
+
return KillSwitch;
|
|
196
|
+
}());
|
|
197
|
+
|
|
198
|
+
var RandomizationLowerThreshold = 0.8;
|
|
199
|
+
var RandomizationUpperThreshold = 1.2;
|
|
200
|
+
var BaseBackoff = 3000;
|
|
201
|
+
var MaxBackoff = 600000;
|
|
202
|
+
function retryPolicyShouldRetryForStatus(httpStatusCode) {
|
|
203
|
+
return !((httpStatusCode >= 300 && httpStatusCode < 500 && httpStatusCode != 408 && httpStatusCode != 429)
|
|
204
|
+
|| (httpStatusCode == 501)
|
|
205
|
+
|| (httpStatusCode == 505));
|
|
206
|
+
}
|
|
207
|
+
function retryPolicyGetMillisToBackoffForRetry(retriesSoFar) {
|
|
208
|
+
var waitDuration = 0;
|
|
209
|
+
var minBackoff = BaseBackoff * RandomizationLowerThreshold;
|
|
210
|
+
var maxBackoff = BaseBackoff * RandomizationUpperThreshold;
|
|
211
|
+
var randomBackoff = Math.floor(Math.random() * (maxBackoff - minBackoff)) + minBackoff;
|
|
212
|
+
waitDuration = Math.pow(2, retriesSoFar) * randomBackoff;
|
|
213
|
+
return Math.min(waitDuration, MaxBackoff);
|
|
214
|
+
}
|
|
215
|
+
|
|
105
216
|
var _MAX_STRING_JOINS = 20;
|
|
106
217
|
var RequestSizeLimitBytes = 3984588;
|
|
107
218
|
var BeaconRequestSizeLimitBytes = 65000;
|
|
@@ -307,6 +418,7 @@
|
|
|
307
418
|
}
|
|
308
419
|
});
|
|
309
420
|
}
|
|
421
|
+
Serializer.__ieDyn=1;
|
|
310
422
|
return Serializer;
|
|
311
423
|
}());
|
|
312
424
|
function _addJSONPropertyMetaData(json, propKeys, name, propertyValue) {
|
|
@@ -347,122 +459,15 @@
|
|
|
347
459
|
}
|
|
348
460
|
}
|
|
349
461
|
|
|
350
|
-
var RandomizationLowerThreshold = 0.8;
|
|
351
|
-
var RandomizationUpperThreshold = 1.2;
|
|
352
|
-
var BaseBackoff = 3000;
|
|
353
|
-
var MaxBackoff = 600000;
|
|
354
|
-
function retryPolicyShouldRetryForStatus(httpStatusCode) {
|
|
355
|
-
return !((httpStatusCode >= 300 && httpStatusCode < 500 && httpStatusCode != 408 && httpStatusCode != 429)
|
|
356
|
-
|| (httpStatusCode == 501)
|
|
357
|
-
|| (httpStatusCode == 505));
|
|
358
|
-
}
|
|
359
|
-
function retryPolicyGetMillisToBackoffForRetry(retriesSoFar) {
|
|
360
|
-
var waitDuration = 0;
|
|
361
|
-
var minBackoff = BaseBackoff * RandomizationLowerThreshold;
|
|
362
|
-
var maxBackoff = BaseBackoff * RandomizationUpperThreshold;
|
|
363
|
-
var randomBackoff = Math.floor(Math.random() * (maxBackoff - minBackoff)) + minBackoff;
|
|
364
|
-
waitDuration = Math.pow(2, retriesSoFar) * randomBackoff;
|
|
365
|
-
return Math.min(waitDuration, MaxBackoff);
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
var SecToMsMultiplier = 1000;
|
|
369
|
-
var KillSwitch = /** @class */ (function () {
|
|
370
|
-
function KillSwitch() {
|
|
371
|
-
var _killedTokenDictionary = {};
|
|
372
|
-
function _normalizeTenants(values) {
|
|
373
|
-
var result = [];
|
|
374
|
-
if (values) {
|
|
375
|
-
_1dsCoreJs.arrForEach(values, function (value) {
|
|
376
|
-
result.push(_1dsCoreJs.strTrim(value));
|
|
377
|
-
});
|
|
378
|
-
}
|
|
379
|
-
return result;
|
|
380
|
-
}
|
|
381
|
-
dynamicProto__default(KillSwitch, this, function (_self) {
|
|
382
|
-
_self.setKillSwitchTenants = function (killTokens, killDuration) {
|
|
383
|
-
if (killTokens && killDuration) {
|
|
384
|
-
try {
|
|
385
|
-
var killedTokens = _normalizeTenants(killTokens.split(","));
|
|
386
|
-
if (killDuration === "this-request-only") {
|
|
387
|
-
return killedTokens;
|
|
388
|
-
}
|
|
389
|
-
var durationMs = parseInt(killDuration, 10) * SecToMsMultiplier;
|
|
390
|
-
for (var i = 0; i < killedTokens.length; ++i) {
|
|
391
|
-
_killedTokenDictionary[killedTokens[i]] = _1dsCoreJs.dateNow() + durationMs;
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
catch (ex) {
|
|
395
|
-
return [];
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
return [];
|
|
399
|
-
};
|
|
400
|
-
_self.isTenantKilled = function (tenantToken) {
|
|
401
|
-
var killDictionary = _killedTokenDictionary;
|
|
402
|
-
var name = _1dsCoreJs.strTrim(tenantToken);
|
|
403
|
-
if (killDictionary[name] !== undefined && killDictionary[name] > _1dsCoreJs.dateNow()) {
|
|
404
|
-
return true;
|
|
405
|
-
}
|
|
406
|
-
delete killDictionary[name];
|
|
407
|
-
return false;
|
|
408
|
-
};
|
|
409
|
-
});
|
|
410
|
-
}
|
|
411
|
-
return KillSwitch;
|
|
412
|
-
}());
|
|
413
|
-
|
|
414
|
-
var ClockSkewManager = /** @class */ (function () {
|
|
415
|
-
function ClockSkewManager() {
|
|
416
|
-
var _allowRequestSending = true;
|
|
417
|
-
var _shouldAddClockSkewHeaders = true;
|
|
418
|
-
var _isFirstRequest = true;
|
|
419
|
-
var _clockSkewHeaderValue = "use-collector-delta";
|
|
420
|
-
var _clockSkewSet = false;
|
|
421
|
-
dynamicProto__default(ClockSkewManager, this, function (_self) {
|
|
422
|
-
_self.allowRequestSending = function () {
|
|
423
|
-
return _allowRequestSending;
|
|
424
|
-
};
|
|
425
|
-
_self.firstRequestSent = function () {
|
|
426
|
-
if (_isFirstRequest) {
|
|
427
|
-
_isFirstRequest = false;
|
|
428
|
-
if (!_clockSkewSet) {
|
|
429
|
-
_allowRequestSending = false;
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
};
|
|
433
|
-
_self.shouldAddClockSkewHeaders = function () {
|
|
434
|
-
return _shouldAddClockSkewHeaders;
|
|
435
|
-
};
|
|
436
|
-
_self.getClockSkewHeaderValue = function () {
|
|
437
|
-
return _clockSkewHeaderValue;
|
|
438
|
-
};
|
|
439
|
-
_self.setClockSkew = function (timeDeltaInMillis) {
|
|
440
|
-
if (!_clockSkewSet) {
|
|
441
|
-
if (timeDeltaInMillis) {
|
|
442
|
-
_clockSkewHeaderValue = timeDeltaInMillis;
|
|
443
|
-
_shouldAddClockSkewHeaders = true;
|
|
444
|
-
_clockSkewSet = true;
|
|
445
|
-
}
|
|
446
|
-
else {
|
|
447
|
-
_shouldAddClockSkewHeaders = false;
|
|
448
|
-
}
|
|
449
|
-
_allowRequestSending = true;
|
|
450
|
-
}
|
|
451
|
-
};
|
|
452
|
-
});
|
|
453
|
-
}
|
|
454
|
-
return ClockSkewManager;
|
|
455
|
-
}());
|
|
456
|
-
|
|
457
462
|
var _a;
|
|
458
463
|
var strSendAttempt = "sendAttempt";
|
|
459
|
-
var _noResponseQs = "&" +
|
|
464
|
+
var _noResponseQs = "&" + STR_NO_RESPONSE_BODY + "=true";
|
|
460
465
|
var _eventActionMap = (_a = {},
|
|
461
|
-
_a[1 ] =
|
|
462
|
-
_a[100 ] =
|
|
466
|
+
_a[1 ] = STR_REQUEUE,
|
|
467
|
+
_a[100 ] = STR_REQUEUE,
|
|
463
468
|
_a[200 ] = "sent",
|
|
464
|
-
_a[8004 ] =
|
|
465
|
-
_a[8003 ] =
|
|
469
|
+
_a[8004 ] = STR_DROPPED,
|
|
470
|
+
_a[8003 ] = STR_DROPPED,
|
|
466
471
|
_a);
|
|
467
472
|
var _collectorQsHeaders = {};
|
|
468
473
|
var _collectorHeaderToQs = {};
|
|
@@ -472,13 +477,13 @@
|
|
|
472
477
|
_collectorHeaderToQs[headerName] = qsName;
|
|
473
478
|
}
|
|
474
479
|
}
|
|
475
|
-
_addCollectorHeaderQsMapping(
|
|
476
|
-
_addCollectorHeaderQsMapping(
|
|
477
|
-
_addCollectorHeaderQsMapping(
|
|
478
|
-
_addCollectorHeaderQsMapping(
|
|
479
|
-
_addCollectorHeaderQsMapping(
|
|
480
|
-
_addCollectorHeaderQsMapping(
|
|
481
|
-
_addCollectorHeaderQsMapping(
|
|
480
|
+
_addCollectorHeaderQsMapping(STR_MSA_DEVICE_TICKET, STR_MSA_DEVICE_TICKET, false);
|
|
481
|
+
_addCollectorHeaderQsMapping(STR_CLIENT_VERSION, STR_CLIENT_VERSION);
|
|
482
|
+
_addCollectorHeaderQsMapping(STR_CLIENT_ID, "Client-Id");
|
|
483
|
+
_addCollectorHeaderQsMapping(STR_API_KEY, STR_API_KEY);
|
|
484
|
+
_addCollectorHeaderQsMapping(STR_TIME_DELTA_TO_APPLY, STR_TIME_DELTA_TO_APPLY);
|
|
485
|
+
_addCollectorHeaderQsMapping(STR_UPLOAD_TIME, STR_UPLOAD_TIME);
|
|
486
|
+
_addCollectorHeaderQsMapping(STR_AUTH_XTOKEN, STR_AUTH_XTOKEN);
|
|
482
487
|
function _getResponseText(xhr) {
|
|
483
488
|
try {
|
|
484
489
|
return xhr.responseText;
|
|
@@ -517,15 +522,16 @@
|
|
|
517
522
|
}
|
|
518
523
|
}
|
|
519
524
|
var HttpManager = /** @class */ (function () {
|
|
520
|
-
function HttpManager(maxEventsPerBatch, maxConnections, maxRequestRetriesBeforeBackoff, actions) {
|
|
525
|
+
function HttpManager(maxEventsPerBatch, maxConnections, maxRequestRetriesBeforeBackoff, actions, timeoutOverride) {
|
|
521
526
|
this._responseHandlers = [];
|
|
522
|
-
var _urlString = "?cors=true&" +
|
|
527
|
+
var _urlString = "?cors=true&" + STR_CONTENT_TYPE_HEADER.toLowerCase() + "=" + DEFAULT_CONTENT_TYPE;
|
|
523
528
|
var _killSwitch = new KillSwitch();
|
|
524
529
|
var _paused = false;
|
|
525
530
|
var _clockSkewManager = new ClockSkewManager();
|
|
526
531
|
var _useBeacons = false;
|
|
527
532
|
var _outstandingRequests = 0;
|
|
528
533
|
var _postManager;
|
|
534
|
+
var _logger;
|
|
529
535
|
var _sendInterfaces;
|
|
530
536
|
var _core;
|
|
531
537
|
var _customHttpInterface = true;
|
|
@@ -553,6 +559,7 @@
|
|
|
553
559
|
_enableEventTimings = !_core.config.disableEventTimings;
|
|
554
560
|
var enableCompoundKey = !!_core.config.enableCompoundKey;
|
|
555
561
|
_postManager = postChannel;
|
|
562
|
+
_logger = _postManager.diagLog();
|
|
556
563
|
var valueSanitizer = channelConfig.valueSanitizer;
|
|
557
564
|
var stringifyObjects = channelConfig.stringifyObjects;
|
|
558
565
|
if (!_1dsCoreJs.isUndefined(channelConfig.enableCompoundKey)) {
|
|
@@ -590,7 +597,7 @@
|
|
|
590
597
|
httpInterface = _getSenderInterface(theTransports, false);
|
|
591
598
|
syncHttpInterface = _getSenderInterface(theTransports, true);
|
|
592
599
|
if (!httpInterface) {
|
|
593
|
-
|
|
600
|
+
_1dsCoreJs._warnToConsole(_logger, "No available transport to send events");
|
|
594
601
|
}
|
|
595
602
|
}
|
|
596
603
|
_sendInterfaces = (_a = {},
|
|
@@ -636,7 +643,7 @@
|
|
|
636
643
|
};
|
|
637
644
|
function _xdrSendPost(payload, oncomplete, sync) {
|
|
638
645
|
var xdr = new XDomainRequest();
|
|
639
|
-
xdr.open(
|
|
646
|
+
xdr.open(STR_POST_METHOD, payload.urlString);
|
|
640
647
|
if (payload.timeout) {
|
|
641
648
|
xdr.timeout = payload.timeout;
|
|
642
649
|
}
|
|
@@ -656,7 +663,7 @@
|
|
|
656
663
|
xdr.send(payload.data);
|
|
657
664
|
}
|
|
658
665
|
else {
|
|
659
|
-
|
|
666
|
+
timeoutOverride.set(function () {
|
|
660
667
|
xdr.send(payload.data);
|
|
661
668
|
}, 0);
|
|
662
669
|
}
|
|
@@ -668,9 +675,9 @@
|
|
|
668
675
|
var responseHandled = false;
|
|
669
676
|
var requestInit = (_a = {
|
|
670
677
|
body: payload.data,
|
|
671
|
-
method:
|
|
678
|
+
method: STR_POST_METHOD
|
|
672
679
|
},
|
|
673
|
-
_a[
|
|
680
|
+
_a[STR_DISABLED_PROPERTY_NAME] = true,
|
|
674
681
|
_a);
|
|
675
682
|
if (sync) {
|
|
676
683
|
requestInit.keepalive = true;
|
|
@@ -688,8 +695,9 @@
|
|
|
688
695
|
fetch(theUrl, requestInit).then(function (response) {
|
|
689
696
|
var headerMap = {};
|
|
690
697
|
var responseText = "";
|
|
691
|
-
|
|
692
|
-
|
|
698
|
+
var headers = response.headers;
|
|
699
|
+
if (headers) {
|
|
700
|
+
headers["forEach"](function (value, name) {
|
|
693
701
|
headerMap[name] = value;
|
|
694
702
|
});
|
|
695
703
|
}
|
|
@@ -714,7 +722,7 @@
|
|
|
714
722
|
_doOnComplete(oncomplete, 200, {});
|
|
715
723
|
}
|
|
716
724
|
if (!responseHandled && payload.timeout > 0) {
|
|
717
|
-
|
|
725
|
+
timeoutOverride.set(function () {
|
|
718
726
|
if (!responseHandled) {
|
|
719
727
|
responseHandled = true;
|
|
720
728
|
_doOnComplete(oncomplete, 500, {});
|
|
@@ -736,9 +744,9 @@
|
|
|
736
744
|
function _getAllResponseHeaders(xhr) {
|
|
737
745
|
var theHeaders = {};
|
|
738
746
|
if (!xhr.getAllResponseHeaders) {
|
|
739
|
-
theHeaders = _appendHeader(theHeaders, xhr,
|
|
740
|
-
theHeaders = _appendHeader(theHeaders, xhr,
|
|
741
|
-
theHeaders = _appendHeader(theHeaders, xhr,
|
|
747
|
+
theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
|
|
748
|
+
theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
|
|
749
|
+
theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
|
|
742
750
|
}
|
|
743
751
|
else {
|
|
744
752
|
theHeaders = _convertAllHeadersToMap(xhr.getAllResponseHeaders());
|
|
@@ -751,7 +759,7 @@
|
|
|
751
759
|
if (sync && payload.disableXhrSync) {
|
|
752
760
|
sync = false;
|
|
753
761
|
}
|
|
754
|
-
var xhrRequest = _1dsCoreJs.openXhr(
|
|
762
|
+
var xhrRequest = _1dsCoreJs.openXhr(STR_POST_METHOD, theUrl, _sendCredentials, true, sync, payload.timeout);
|
|
755
763
|
_1dsCoreJs.objForEachKey(payload.headers, function (name, value) {
|
|
756
764
|
xhrRequest.setRequestHeader(name, value);
|
|
757
765
|
});
|
|
@@ -773,7 +781,7 @@
|
|
|
773
781
|
oncomplete(status, headers, response);
|
|
774
782
|
}
|
|
775
783
|
catch (e) {
|
|
776
|
-
_1dsCoreJs._throwInternal(
|
|
784
|
+
_1dsCoreJs._throwInternal(_logger, 2 , 518 , _1dsCoreJs.dumpObj(e));
|
|
777
785
|
}
|
|
778
786
|
}
|
|
779
787
|
function _beaconSendPost(payload, oncomplete, sync) {
|
|
@@ -808,7 +816,7 @@
|
|
|
808
816
|
}
|
|
809
817
|
}
|
|
810
818
|
catch (ex) {
|
|
811
|
-
|
|
819
|
+
_1dsCoreJs._warnToConsole(_logger, "Failed to send telemetry using sendBeacon API. Ex:" + _1dsCoreJs.dumpObj(ex));
|
|
812
820
|
status = 0;
|
|
813
821
|
}
|
|
814
822
|
finally {
|
|
@@ -972,7 +980,7 @@
|
|
|
972
980
|
}, function () { return ({ batches: _createDebugBatches(orgBatches_1), retryCount: retryCount, isTeardown: isTeardown, isSynchronous: isSynchronous_1, sendReason: sendReason, useSendBeacon: _isBeaconPayload(sendType), sendType: sendType }); }, !isSynchronous_1);
|
|
973
981
|
}
|
|
974
982
|
catch (ex) {
|
|
975
|
-
_1dsCoreJs._throwInternal(
|
|
983
|
+
_1dsCoreJs._throwInternal(_logger, 2 , 48 , "Unexpected Exception sending batch: " + _1dsCoreJs.dumpObj(ex));
|
|
976
984
|
}
|
|
977
985
|
}
|
|
978
986
|
function _buildRequestDetails(thePayload, useHeaders) {
|
|
@@ -996,8 +1004,8 @@
|
|
|
996
1004
|
requestDetails.hdrs = _1dsCoreJs.extend(requestDetails.hdrs, _headers);
|
|
997
1005
|
requestDetails.useHdrs = (_1dsCoreJs.objKeys(requestDetails.hdrs).length > 0);
|
|
998
1006
|
}
|
|
999
|
-
_addRequestDetails(requestDetails,
|
|
1000
|
-
_addRequestDetails(requestDetails,
|
|
1007
|
+
_addRequestDetails(requestDetails, STR_CLIENT_ID, "NO_AUTH", useHeaders);
|
|
1008
|
+
_addRequestDetails(requestDetails, STR_CLIENT_VERSION, _1dsCoreJs.FullVersionString, useHeaders);
|
|
1001
1009
|
var apiQsKeys = "";
|
|
1002
1010
|
_1dsCoreJs.arrForEach(thePayload.apiKeys, function (apiKey) {
|
|
1003
1011
|
if (apiQsKeys.length > 0) {
|
|
@@ -1005,14 +1013,14 @@
|
|
|
1005
1013
|
}
|
|
1006
1014
|
apiQsKeys += apiKey;
|
|
1007
1015
|
});
|
|
1008
|
-
_addRequestDetails(requestDetails,
|
|
1009
|
-
_addRequestDetails(requestDetails,
|
|
1016
|
+
_addRequestDetails(requestDetails, STR_API_KEY, apiQsKeys, useHeaders);
|
|
1017
|
+
_addRequestDetails(requestDetails, STR_UPLOAD_TIME, _1dsCoreJs.dateNow().toString(), useHeaders);
|
|
1010
1018
|
var msfpc = _getMsfpc(thePayload);
|
|
1011
1019
|
if (_1dsCoreJs.isValueAssigned(msfpc)) {
|
|
1012
1020
|
requestDetails.url += "&ext.intweb.msfpc=" + msfpc;
|
|
1013
1021
|
}
|
|
1014
1022
|
if (_clockSkewManager.shouldAddClockSkewHeaders()) {
|
|
1015
|
-
_addRequestDetails(requestDetails,
|
|
1023
|
+
_addRequestDetails(requestDetails, STR_TIME_DELTA_TO_APPLY, _clockSkewManager.getClockSkewHeaderValue(), useHeaders);
|
|
1016
1024
|
}
|
|
1017
1025
|
if (_core.getWParam) {
|
|
1018
1026
|
var wParam = _core.getWParam();
|
|
@@ -1074,11 +1082,11 @@
|
|
|
1074
1082
|
orgPayloadData.disableXhrSync = !!_disableXhrSync;
|
|
1075
1083
|
}
|
|
1076
1084
|
if (useHeaders_1) {
|
|
1077
|
-
if (!_hasHeader(orgPayloadData.headers,
|
|
1078
|
-
orgPayloadData.headers[
|
|
1085
|
+
if (!_hasHeader(orgPayloadData.headers, STR_CACHE_CONTROL)) {
|
|
1086
|
+
orgPayloadData.headers[STR_CACHE_CONTROL] = DEFAULT_CACHE_CONTROL;
|
|
1079
1087
|
}
|
|
1080
|
-
if (!_hasHeader(orgPayloadData.headers,
|
|
1081
|
-
orgPayloadData.headers[
|
|
1088
|
+
if (!_hasHeader(orgPayloadData.headers, STR_CONTENT_TYPE_HEADER)) {
|
|
1089
|
+
orgPayloadData.headers[STR_CONTENT_TYPE_HEADER] = DEFAULT_CONTENT_TYPE;
|
|
1082
1090
|
}
|
|
1083
1091
|
}
|
|
1084
1092
|
var sender = null;
|
|
@@ -1096,7 +1104,7 @@
|
|
|
1096
1104
|
}
|
|
1097
1105
|
}
|
|
1098
1106
|
catch (ex) {
|
|
1099
|
-
|
|
1107
|
+
_1dsCoreJs._warnToConsole(_logger, "Unexpected exception sending payload. Ex:" + _1dsCoreJs.dumpObj(ex));
|
|
1100
1108
|
_doOnComplete(onComplete, 0, {});
|
|
1101
1109
|
}
|
|
1102
1110
|
};
|
|
@@ -1164,9 +1172,9 @@
|
|
|
1164
1172
|
var shouldRetry = true;
|
|
1165
1173
|
if (typeof status !== _1dsCoreJs.strUndefined) {
|
|
1166
1174
|
if (headers) {
|
|
1167
|
-
_clockSkewManager.setClockSkew(headers[
|
|
1168
|
-
var killDuration = headers[
|
|
1169
|
-
_1dsCoreJs.arrForEach(_killSwitch.setKillSwitchTenants(headers[
|
|
1175
|
+
_clockSkewManager.setClockSkew(headers[STR_TIME_DELTA_HEADER]);
|
|
1176
|
+
var killDuration = headers[STR_KILL_DURATION_HEADER] || headers["kill-duration-seconds"];
|
|
1177
|
+
_1dsCoreJs.arrForEach(_killSwitch.setKillSwitchTenants(headers[STR_KILL_TOKENS_HEADER], killDuration), function (killToken) {
|
|
1170
1178
|
_1dsCoreJs.arrForEach(thePayload.batches, function (theBatch) {
|
|
1171
1179
|
if (theBatch.iKey() === killToken) {
|
|
1172
1180
|
droppedBatches = droppedBatches || [];
|
|
@@ -1253,7 +1261,7 @@
|
|
|
1253
1261
|
cb();
|
|
1254
1262
|
}
|
|
1255
1263
|
else {
|
|
1256
|
-
|
|
1264
|
+
timeoutOverride.set(cb, interval);
|
|
1257
1265
|
}
|
|
1258
1266
|
}
|
|
1259
1267
|
function _convertAllHeadersToMap(headersString) {
|
|
@@ -1293,13 +1301,13 @@
|
|
|
1293
1301
|
responseHandlers[i](responseText);
|
|
1294
1302
|
}
|
|
1295
1303
|
catch (e) {
|
|
1296
|
-
_1dsCoreJs._throwInternal(
|
|
1304
|
+
_1dsCoreJs._throwInternal(_logger, 1 , 519 , "Response handler failed: " + e);
|
|
1297
1305
|
}
|
|
1298
1306
|
}
|
|
1299
1307
|
if (responseText) {
|
|
1300
1308
|
var response = JSON.parse(responseText);
|
|
1301
|
-
if (_1dsCoreJs.isValueAssigned(response.webResult) && _1dsCoreJs.isValueAssigned(response.webResult[
|
|
1302
|
-
_cookieMgr.set("MSFPC", response.webResult[
|
|
1309
|
+
if (_1dsCoreJs.isValueAssigned(response.webResult) && _1dsCoreJs.isValueAssigned(response.webResult[STR_MSFPC])) {
|
|
1310
|
+
_cookieMgr.set("MSFPC", response.webResult[STR_MSFPC], 365 * 86400);
|
|
1303
1311
|
}
|
|
1304
1312
|
}
|
|
1305
1313
|
}
|
|
@@ -1317,7 +1325,7 @@
|
|
|
1317
1325
|
theAction_1.call(actions, theBatches, batchReason, isSyncRequest_1, sendType);
|
|
1318
1326
|
}
|
|
1319
1327
|
catch (e) {
|
|
1320
|
-
_1dsCoreJs._throwInternal(
|
|
1328
|
+
_1dsCoreJs._throwInternal(_logger, 1 , 74 , "send request notification failed: " + e);
|
|
1321
1329
|
}
|
|
1322
1330
|
}, sendSync || isSyncRequest_1, 0);
|
|
1323
1331
|
}, function () { return ({ batches: _createDebugBatches(theBatches), reason: batchReason, isSync: isSyncRequest_1, sendSync: sendSync, sendType: sendType }); }, !isSyncRequest_1);
|
|
@@ -1327,31 +1335,48 @@
|
|
|
1327
1335
|
function _getNotificationAction(reason) {
|
|
1328
1336
|
var action = _eventActionMap[reason];
|
|
1329
1337
|
if (!_1dsCoreJs.isValueAssigned(action)) {
|
|
1330
|
-
action =
|
|
1338
|
+
action = STR_OTHER;
|
|
1331
1339
|
if (reason >= 9000 && reason <= 9999 ) {
|
|
1332
|
-
action =
|
|
1340
|
+
action = STR_RESPONSE_FAIL;
|
|
1333
1341
|
}
|
|
1334
1342
|
else if (reason >= 8000 && reason <= 8999 ) {
|
|
1335
|
-
action =
|
|
1343
|
+
action = STR_DROPPED;
|
|
1336
1344
|
}
|
|
1337
1345
|
else if (reason >= 1000 && reason <= 1999 ) {
|
|
1338
|
-
action =
|
|
1346
|
+
action = STR_SENDING;
|
|
1339
1347
|
}
|
|
1340
1348
|
}
|
|
1341
1349
|
return action;
|
|
1342
1350
|
}
|
|
1343
1351
|
});
|
|
1344
1352
|
}
|
|
1353
|
+
HttpManager.__ieDyn=1;
|
|
1345
1354
|
return HttpManager;
|
|
1346
1355
|
}());
|
|
1347
1356
|
|
|
1357
|
+
function defaultSetTimeout(callback, ms) {
|
|
1358
|
+
var args = [];
|
|
1359
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
1360
|
+
args[_i - 2] = arguments[_i];
|
|
1361
|
+
}
|
|
1362
|
+
return setTimeout(callback, ms, args);
|
|
1363
|
+
}
|
|
1364
|
+
function defaultClearTimeout(timeoutId) {
|
|
1365
|
+
clearTimeout(timeoutId);
|
|
1366
|
+
}
|
|
1367
|
+
function createTimeoutWrapper(argSetTimeout, argClearTimeout) {
|
|
1368
|
+
return {
|
|
1369
|
+
set: argSetTimeout || defaultSetTimeout,
|
|
1370
|
+
clear: argClearTimeout || defaultClearTimeout
|
|
1371
|
+
};
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1348
1374
|
var FlushCheckTimer = 0.250;
|
|
1349
1375
|
var MaxNumberEventPerBatch = 500;
|
|
1350
1376
|
var EventsDroppedAtOneTime = 20;
|
|
1351
1377
|
var MaxSendAttempts = 6;
|
|
1352
1378
|
var MaxSyncUnloadSendAttempts = 2;
|
|
1353
1379
|
var MaxBackoffCount = 4;
|
|
1354
|
-
var globalContext = _1dsCoreJs.isWindowObjectAvailable ? window : undefined;
|
|
1355
1380
|
var MaxConnections = 2;
|
|
1356
1381
|
var MaxRequestRetriesBeforeBackoff = 1;
|
|
1357
1382
|
var strEventsDiscarded = "eventsDiscarded";
|
|
@@ -1365,7 +1390,7 @@
|
|
|
1365
1390
|
var _this = _super.call(this) || this;
|
|
1366
1391
|
_this.identifier = "PostChannel";
|
|
1367
1392
|
_this.priority = 1011;
|
|
1368
|
-
_this.version = '3.2.
|
|
1393
|
+
_this.version = '3.2.4';
|
|
1369
1394
|
var _config;
|
|
1370
1395
|
var _isTeardownCalled = false;
|
|
1371
1396
|
var _flushCallbackQueue = [];
|
|
@@ -1390,10 +1415,10 @@
|
|
|
1390
1415
|
var _delayedBatchReason;
|
|
1391
1416
|
var _optimizeObject = true;
|
|
1392
1417
|
var _isPageUnloadTriggered = false;
|
|
1393
|
-
var _disableXhrSync = false;
|
|
1394
1418
|
var _maxEventSendAttempts = MaxSendAttempts;
|
|
1395
1419
|
var _maxUnloadEventSendAttempts = MaxSyncUnloadSendAttempts;
|
|
1396
1420
|
var _evtNamespace;
|
|
1421
|
+
var _timeoutWrapper;
|
|
1397
1422
|
dynamicProto__default(PostChannel, _this, function (_self, _base) {
|
|
1398
1423
|
_initDefaults();
|
|
1399
1424
|
_self["_getDbgPlgTargets"] = function () {
|
|
@@ -1409,8 +1434,7 @@
|
|
|
1409
1434
|
var ctx = _self._getTelCtx();
|
|
1410
1435
|
coreConfig.extensionConfig[_self.identifier] = coreConfig.extensionConfig[_self.identifier] || {};
|
|
1411
1436
|
_config = ctx.getExtCfg(_self.identifier);
|
|
1412
|
-
|
|
1413
|
-
_self._clearTimeoutOverride = _config.clearTimeoutOverride ? _config.clearTimeoutOverride : clearTimeout.bind(globalContext);
|
|
1437
|
+
_timeoutWrapper = createTimeoutWrapper(_config.setTimeoutOverride, _config.clearTimeoutOverride);
|
|
1414
1438
|
_optimizeObject = !_config.disableOptimizeObj && _1dsCoreJs.isChromium();
|
|
1415
1439
|
_hookWParam(extendedCore);
|
|
1416
1440
|
if (_config.eventsLimitInMem > 0) {
|
|
@@ -1422,7 +1446,6 @@
|
|
|
1422
1446
|
if (_config.autoFlushEventsLimit > 0) {
|
|
1423
1447
|
_autoFlushEventsLimit = _config.autoFlushEventsLimit;
|
|
1424
1448
|
}
|
|
1425
|
-
_disableXhrSync = _config.disableXhrSync;
|
|
1426
1449
|
if (_1dsCoreJs.isNumber(_config[strMaxEventRetryAttempts])) {
|
|
1427
1450
|
_maxEventSendAttempts = _config[strMaxEventRetryAttempts];
|
|
1428
1451
|
}
|
|
@@ -1516,11 +1539,11 @@
|
|
|
1516
1539
|
if (!event.latency) {
|
|
1517
1540
|
event.latency = 1 ;
|
|
1518
1541
|
}
|
|
1519
|
-
if (event.ext && event.ext[
|
|
1520
|
-
delete (event.ext[
|
|
1542
|
+
if (event.ext && event.ext[STR_TRACE]) {
|
|
1543
|
+
delete (event.ext[STR_TRACE]);
|
|
1521
1544
|
}
|
|
1522
|
-
if (event.ext && event.ext[
|
|
1523
|
-
delete (event.ext[
|
|
1545
|
+
if (event.ext && event.ext[STR_USER] && event.ext[STR_USER]["id"]) {
|
|
1546
|
+
delete (event.ext[STR_USER]["id"]);
|
|
1524
1547
|
}
|
|
1525
1548
|
if (_optimizeObject) {
|
|
1526
1549
|
event.ext = _1dsCoreJs.optimizeObject(event.ext);
|
|
@@ -1630,13 +1653,13 @@
|
|
|
1630
1653
|
_self.flush = function (async, callback, sendReason) {
|
|
1631
1654
|
if (async === void 0) { async = true; }
|
|
1632
1655
|
if (!_paused) {
|
|
1633
|
-
_clearScheduledTimer();
|
|
1634
1656
|
sendReason = sendReason || 1 ;
|
|
1635
1657
|
if (async) {
|
|
1636
|
-
_queueBatches(1 , 0 , sendReason);
|
|
1637
|
-
_resetQueueCounts();
|
|
1638
1658
|
if (_flushCallbackTimerId == null) {
|
|
1659
|
+
_clearScheduledTimer();
|
|
1660
|
+
_queueBatches(1 , 0 , sendReason);
|
|
1639
1661
|
_flushCallbackTimerId = _createTimer(function () {
|
|
1662
|
+
_flushCallbackTimerId = null;
|
|
1640
1663
|
_flushImpl(callback, sendReason);
|
|
1641
1664
|
}, 0);
|
|
1642
1665
|
}
|
|
@@ -1645,15 +1668,19 @@
|
|
|
1645
1668
|
}
|
|
1646
1669
|
}
|
|
1647
1670
|
else {
|
|
1671
|
+
var cleared = _clearScheduledTimer();
|
|
1648
1672
|
_sendEventsForLatencyAndAbove(1 , 1 , sendReason);
|
|
1649
1673
|
if (callback !== null && callback !== undefined) {
|
|
1650
1674
|
callback();
|
|
1651
1675
|
}
|
|
1676
|
+
if (cleared) {
|
|
1677
|
+
_scheduleTimer();
|
|
1678
|
+
}
|
|
1652
1679
|
}
|
|
1653
1680
|
}
|
|
1654
1681
|
};
|
|
1655
1682
|
_self.setMsaAuthTicket = function (ticket) {
|
|
1656
|
-
_httpManager.addHeader(
|
|
1683
|
+
_httpManager.addHeader(STR_MSA_DEVICE_TICKET, ticket);
|
|
1657
1684
|
};
|
|
1658
1685
|
_self.hasEvents = _hasEvents;
|
|
1659
1686
|
_self._setTransmitProfile = function (profileName) {
|
|
@@ -1739,10 +1766,10 @@
|
|
|
1739
1766
|
_delayedBatchReason = null;
|
|
1740
1767
|
_optimizeObject = true;
|
|
1741
1768
|
_isPageUnloadTriggered = false;
|
|
1742
|
-
_disableXhrSync = false;
|
|
1743
1769
|
_maxEventSendAttempts = MaxSendAttempts;
|
|
1744
1770
|
_maxUnloadEventSendAttempts = MaxSyncUnloadSendAttempts;
|
|
1745
1771
|
_evtNamespace = null;
|
|
1772
|
+
_timeoutWrapper = createTimeoutWrapper();
|
|
1746
1773
|
_httpManager = new HttpManager(MaxNumberEventPerBatch, MaxConnections, MaxRequestRetriesBeforeBackoff, {
|
|
1747
1774
|
requeue: _requeueEvents,
|
|
1748
1775
|
send: _sendingEvent,
|
|
@@ -1750,7 +1777,7 @@
|
|
|
1750
1777
|
drop: _eventsDropped,
|
|
1751
1778
|
rspFail: _eventsResponseFail,
|
|
1752
1779
|
oth: _otherEvent
|
|
1753
|
-
});
|
|
1780
|
+
}, _timeoutWrapper);
|
|
1754
1781
|
_initializeProfiles();
|
|
1755
1782
|
_clearQueues();
|
|
1756
1783
|
_setAutoLimits();
|
|
@@ -1763,19 +1790,21 @@
|
|
|
1763
1790
|
if (_currentBackoffCount) {
|
|
1764
1791
|
timerMultiplier = retryPolicyGetMillisToBackoffForRetry(_currentBackoffCount - 1);
|
|
1765
1792
|
}
|
|
1766
|
-
return
|
|
1793
|
+
return _timeoutWrapper.set(theTimerFunc, timeOut * timerMultiplier);
|
|
1767
1794
|
}
|
|
1768
1795
|
function _clearScheduledTimer() {
|
|
1769
1796
|
if (_scheduledTimerId !== null) {
|
|
1770
|
-
|
|
1797
|
+
_timeoutWrapper.clear(_scheduledTimerId);
|
|
1771
1798
|
_scheduledTimerId = null;
|
|
1772
1799
|
_timerCount = 0;
|
|
1800
|
+
return true;
|
|
1773
1801
|
}
|
|
1802
|
+
return false;
|
|
1774
1803
|
}
|
|
1775
1804
|
function _releaseAllQueues(sendType, sendReason) {
|
|
1776
1805
|
_clearScheduledTimer();
|
|
1777
1806
|
if (_flushCallbackTimerId) {
|
|
1778
|
-
|
|
1807
|
+
_timeoutWrapper.clear(_flushCallbackTimerId);
|
|
1779
1808
|
_flushCallbackTimerId = null;
|
|
1780
1809
|
}
|
|
1781
1810
|
if (!_paused) {
|
|
@@ -1934,18 +1963,20 @@
|
|
|
1934
1963
|
}
|
|
1935
1964
|
function _flushImpl(callback, sendReason) {
|
|
1936
1965
|
_sendEventsForLatencyAndAbove(1 , 0 , sendReason);
|
|
1966
|
+
_resetQueueCounts();
|
|
1937
1967
|
_waitForIdleManager(function () {
|
|
1938
1968
|
if (callback) {
|
|
1939
1969
|
callback();
|
|
1940
1970
|
}
|
|
1941
1971
|
if (_flushCallbackQueue.length > 0) {
|
|
1942
|
-
_flushCallbackTimerId = _createTimer(function () {
|
|
1972
|
+
_flushCallbackTimerId = _createTimer(function () {
|
|
1973
|
+
_flushCallbackTimerId = null;
|
|
1974
|
+
_flushImpl(_flushCallbackQueue.shift(), sendReason);
|
|
1975
|
+
}, 0);
|
|
1943
1976
|
}
|
|
1944
1977
|
else {
|
|
1945
1978
|
_flushCallbackTimerId = null;
|
|
1946
|
-
|
|
1947
|
-
_scheduleTimer();
|
|
1948
|
-
}
|
|
1979
|
+
_scheduleTimer();
|
|
1949
1980
|
}
|
|
1950
1981
|
});
|
|
1951
1982
|
}
|
|
@@ -1955,6 +1986,7 @@
|
|
|
1955
1986
|
}
|
|
1956
1987
|
else {
|
|
1957
1988
|
_flushCallbackTimerId = _createTimer(function () {
|
|
1989
|
+
_flushCallbackTimerId = null;
|
|
1958
1990
|
_waitForIdleManager(callback);
|
|
1959
1991
|
}, FlushCheckTimer);
|
|
1960
1992
|
}
|
|
@@ -2069,9 +2101,16 @@
|
|
|
2069
2101
|
_autoFlushBatchLimit = 0;
|
|
2070
2102
|
}
|
|
2071
2103
|
}
|
|
2104
|
+
_1dsCoreJs.objDefineAccessors(_self, "_setTimeoutOverride", function () { return _timeoutWrapper.set; }, function (value) {
|
|
2105
|
+
_timeoutWrapper = createTimeoutWrapper(value, _timeoutWrapper.clear);
|
|
2106
|
+
});
|
|
2107
|
+
_1dsCoreJs.objDefineAccessors(_self, "_clearTimeoutOverride", function () { return _timeoutWrapper.clear; }, function (value) {
|
|
2108
|
+
_timeoutWrapper = createTimeoutWrapper(_timeoutWrapper.set, value);
|
|
2109
|
+
});
|
|
2072
2110
|
});
|
|
2073
2111
|
return _this;
|
|
2074
2112
|
}
|
|
2113
|
+
PostChannel.__ieDyn=1;
|
|
2075
2114
|
return PostChannel;
|
|
2076
2115
|
}(_1dsCoreJs.BaseTelemetryPlugin));
|
|
2077
2116
|
|