@microsoft/1ds-post-js 3.2.2 → 3.2.5

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.
Files changed (76) hide show
  1. package/CODE_OF_CONDUCT.md +9 -0
  2. package/CONTRIBUTING.md +14 -0
  3. package/LICENSE.TXT +3 -3
  4. package/NOTICE +17 -0
  5. package/PRIVACY +3 -0
  6. package/README.md +16 -2
  7. package/SECURITY.md +41 -0
  8. package/SUPPORT.md +14 -0
  9. package/bundle/{ms.post-3.2.2.gbl.js → ms.post-3.2.5.gbl.js} +933 -858
  10. package/bundle/ms.post-3.2.5.gbl.js.map +1 -0
  11. package/bundle/ms.post-3.2.5.gbl.min.js +7 -0
  12. package/bundle/ms.post-3.2.5.gbl.min.js.map +1 -0
  13. package/bundle/ms.post-3.2.5.integrity.json +46 -0
  14. package/bundle/{ms.post-3.2.2.js → ms.post-3.2.5.js} +933 -858
  15. package/bundle/ms.post-3.2.5.js.map +1 -0
  16. package/bundle/ms.post-3.2.5.min.js +7 -0
  17. package/bundle/ms.post-3.2.5.min.js.map +1 -0
  18. package/bundle/ms.post.gbl.js +932 -857
  19. package/bundle/ms.post.gbl.js.map +1 -1
  20. package/bundle/ms.post.gbl.min.js +2 -2
  21. package/bundle/ms.post.gbl.min.js.map +1 -1
  22. package/bundle/ms.post.integrity.json +17 -17
  23. package/bundle/ms.post.js +932 -857
  24. package/bundle/ms.post.js.map +1 -1
  25. package/bundle/ms.post.min.js +2 -2
  26. package/bundle/ms.post.min.js.map +1 -1
  27. package/dist/ms.post.js +213 -197
  28. package/dist/ms.post.js.map +1 -1
  29. package/dist/ms.post.min.js +2 -2
  30. package/dist/ms.post.min.js.map +1 -1
  31. package/dist-esm/src/BatchNotificationActions.js +1 -1
  32. package/dist-esm/src/ClockSkewManager.js +6 -1
  33. package/dist-esm/src/ClockSkewManager.js.map +1 -1
  34. package/dist-esm/src/DataModels.js +1 -1
  35. package/dist-esm/src/EventBatch.d.ts +0 -5
  36. package/dist-esm/src/EventBatch.js +9 -4
  37. package/dist-esm/src/EventBatch.js.map +1 -1
  38. package/dist-esm/src/HttpManager.d.ts +2 -7
  39. package/dist-esm/src/HttpManager.js +116 -108
  40. package/dist-esm/src/HttpManager.js.map +1 -1
  41. package/dist-esm/src/Index.js +1 -1
  42. package/dist-esm/src/InternalConstants.d.ts +27 -0
  43. package/dist-esm/src/InternalConstants.js +40 -0
  44. package/dist-esm/src/InternalConstants.js.map +1 -0
  45. package/dist-esm/src/KillSwitch.js +7 -2
  46. package/dist-esm/src/KillSwitch.js.map +1 -1
  47. package/dist-esm/src/PostChannel.d.ts +1 -1
  48. package/dist-esm/src/PostChannel.js +79 -65
  49. package/dist-esm/src/PostChannel.js.map +1 -1
  50. package/dist-esm/src/RetryPolicy.js +1 -1
  51. package/dist-esm/src/Serializer.d.ts +1 -1
  52. package/dist-esm/src/Serializer.js +9 -3
  53. package/dist-esm/src/Serializer.js.map +1 -1
  54. package/dist-esm/src/TimeoutOverrideWrapper.d.ts +5 -5
  55. package/dist-esm/src/TimeoutOverrideWrapper.js +6 -6
  56. package/dist-esm/src/TimeoutOverrideWrapper.js.map +1 -1
  57. package/dist-esm/src/typings/XDomainRequest.js +1 -1
  58. package/package.json +4 -2
  59. package/src/EventBatch.ts +4 -4
  60. package/src/HttpManager.ts +70 -68
  61. package/src/InternalConstants.ts +41 -0
  62. package/src/KillSwitch.ts +1 -1
  63. package/src/PostChannel.ts +45 -36
  64. package/src/Serializer.ts +7 -5
  65. package/src/TimeoutOverrideWrapper.ts +6 -6
  66. package/bundle/ms.post-3.2.2.gbl.js.map +0 -1
  67. package/bundle/ms.post-3.2.2.gbl.min.js +0 -7
  68. package/bundle/ms.post-3.2.2.gbl.min.js.map +0 -1
  69. package/bundle/ms.post-3.2.2.integrity.json +0 -46
  70. package/bundle/ms.post-3.2.2.js.map +0 -1
  71. package/bundle/ms.post-3.2.2.min.js +0 -7
  72. package/bundle/ms.post-3.2.2.min.js.map +0 -1
  73. package/dist-esm/src/Constants.d.ts +0 -25
  74. package/dist-esm/src/Constants.js +0 -31
  75. package/dist-esm/src/Constants.js.map +0 -1
  76. package/src/Constants.ts +0 -28
package/dist/ms.post.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK POST plugin, 3.2.2
2
+ * 1DS JS SDK POST plugin, 3.2.5
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -17,35 +17,37 @@
17
17
  var NRT_PROFILE = "NEAR_REAL_TIME";
18
18
  var BE_PROFILE = "BEST_EFFORT";
19
19
 
20
- var Method = "POST";
21
- var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
22
- var strDropped = "drop";
23
- var strSending = "send";
24
- var strRequeue = "requeue";
25
- var strResponseFail = "rspFail";
26
- var strOther = "oth";
27
- var defaultCacheControl = "no-cache, no-store";
28
- var defaultContentType = "application/x-json-stream";
29
- var strCacheControl = "cache-control";
30
- var strContentTypeHeader = "content-type";
31
- var strKillTokensHeader = "kill-tokens";
32
- var strKillDurationHeader = "kill-duration";
33
- var strKillDurationSecondsHeader = "kill-duration-seconds";
34
- var strTimeDeltaHeader = "time-delta-millis";
35
- var strClientVersion = "client-version";
36
- var strClientId = "client-id";
37
- var strTimeDeltaToApply = "time-delta-to-apply-millis";
38
- var strUploadTime = "upload-time";
39
- var strApiKey = "apikey";
40
- var strMsaDeviceTicket = "AuthMsaDeviceTicket";
41
- var strAuthXToken = "AuthXToken";
42
- var strNoResponseBody = "NoResponseBody";
43
- var strMsfpc = "msfpc";
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[strMsfpc])) {
48
- return intWeb[strMsfpc];
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 = "&" + strNoResponseBody + "=true";
464
+ var _noResponseQs = "&" + STR_NO_RESPONSE_BODY + "=true";
460
465
  var _eventActionMap = (_a = {},
461
- _a[1 ] = strRequeue,
462
- _a[100 ] = strRequeue,
466
+ _a[1 ] = STR_REQUEUE,
467
+ _a[100 ] = STR_REQUEUE,
463
468
  _a[200 ] = "sent",
464
- _a[8004 ] = strDropped,
465
- _a[8003 ] = strDropped,
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(strMsaDeviceTicket, strMsaDeviceTicket, false);
476
- _addCollectorHeaderQsMapping(strClientVersion, strClientVersion);
477
- _addCollectorHeaderQsMapping(strClientId, "Client-Id");
478
- _addCollectorHeaderQsMapping(strApiKey, strApiKey);
479
- _addCollectorHeaderQsMapping(strTimeDeltaToApply, strTimeDeltaToApply);
480
- _addCollectorHeaderQsMapping(strUploadTime, strUploadTime);
481
- _addCollectorHeaderQsMapping(strAuthXToken, strAuthXToken);
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;
@@ -519,13 +524,14 @@
519
524
  var HttpManager = /** @class */ (function () {
520
525
  function HttpManager(maxEventsPerBatch, maxConnections, maxRequestRetriesBeforeBackoff, actions, timeoutOverride) {
521
526
  this._responseHandlers = [];
522
- var _urlString = "?cors=true&" + strContentTypeHeader.toLowerCase() + "=" + defaultContentType;
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
- _postManager.diagLog().warnToConsole("No available transport to send events");
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(Method, payload.urlString);
646
+ xdr.open(STR_POST_METHOD, payload.urlString);
640
647
  if (payload.timeout) {
641
648
  xdr.timeout = payload.timeout;
642
649
  }
@@ -668,9 +675,9 @@
668
675
  var responseHandled = false;
669
676
  var requestInit = (_a = {
670
677
  body: payload.data,
671
- method: Method
678
+ method: STR_POST_METHOD
672
679
  },
673
- _a[DisabledPropertyName] = true,
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
- if (response.headers) {
692
- response.headers.forEach(function (value, name) {
698
+ var headers = response.headers;
699
+ if (headers) {
700
+ headers["forEach"](function (value, name) {
693
701
  headerMap[name] = value;
694
702
  });
695
703
  }
@@ -736,9 +744,9 @@
736
744
  function _getAllResponseHeaders(xhr) {
737
745
  var theHeaders = {};
738
746
  if (!xhr.getAllResponseHeaders) {
739
- theHeaders = _appendHeader(theHeaders, xhr, strTimeDeltaHeader);
740
- theHeaders = _appendHeader(theHeaders, xhr, strKillDurationHeader);
741
- theHeaders = _appendHeader(theHeaders, xhr, strKillDurationSecondsHeader);
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(Method, theUrl, _sendCredentials, true, sync, payload.timeout);
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(_postManager.diagLog(), 2 , 518 , _1dsCoreJs.dumpObj(e));
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
- _postManager.diagLog().warnToConsole("Failed to send telemetry using sendBeacon API. Ex:" + _1dsCoreJs.dumpObj(ex));
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(_postManager.diagLog(), 2 , 48 , "Unexpected Exception sending batch: " + _1dsCoreJs.dumpObj(ex));
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, strClientId, "NO_AUTH", useHeaders);
1000
- _addRequestDetails(requestDetails, strClientVersion, _1dsCoreJs.FullVersionString, useHeaders);
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, strApiKey, apiQsKeys, useHeaders);
1009
- _addRequestDetails(requestDetails, strUploadTime, _1dsCoreJs.dateNow().toString(), useHeaders);
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, strTimeDeltaToApply, _clockSkewManager.getClockSkewHeaderValue(), useHeaders);
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, strCacheControl)) {
1078
- orgPayloadData.headers[strCacheControl] = defaultCacheControl;
1085
+ if (!_hasHeader(orgPayloadData.headers, STR_CACHE_CONTROL)) {
1086
+ orgPayloadData.headers[STR_CACHE_CONTROL] = DEFAULT_CACHE_CONTROL;
1079
1087
  }
1080
- if (!_hasHeader(orgPayloadData.headers, strContentTypeHeader)) {
1081
- orgPayloadData.headers[strContentTypeHeader] = defaultContentType;
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
- _postManager.diagLog().warnToConsole("Unexpected exception sending payload. Ex:" + _1dsCoreJs.dumpObj(ex));
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[strTimeDeltaHeader]);
1168
- var killDuration = headers[strKillDurationHeader] || headers["kill-duration-seconds"];
1169
- _1dsCoreJs.arrForEach(_killSwitch.setKillSwitchTenants(headers[strKillTokensHeader], killDuration), function (killToken) {
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 || [];
@@ -1293,13 +1301,13 @@
1293
1301
  responseHandlers[i](responseText);
1294
1302
  }
1295
1303
  catch (e) {
1296
- _1dsCoreJs._throwInternal(_postManager.diagLog(), 1 , 519 , "Response handler failed: " + e);
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[strMsfpc])) {
1302
- _cookieMgr.set("MSFPC", response.webResult[strMsfpc], 365 * 86400);
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(_postManager.diagLog(), 1 , 74 , "send request notification failed: " + e);
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,21 +1335,22 @@
1327
1335
  function _getNotificationAction(reason) {
1328
1336
  var action = _eventActionMap[reason];
1329
1337
  if (!_1dsCoreJs.isValueAssigned(action)) {
1330
- action = strOther;
1338
+ action = STR_OTHER;
1331
1339
  if (reason >= 9000 && reason <= 9999 ) {
1332
- action = strResponseFail;
1340
+ action = STR_RESPONSE_FAIL;
1333
1341
  }
1334
1342
  else if (reason >= 8000 && reason <= 8999 ) {
1335
- action = strDropped;
1343
+ action = STR_DROPPED;
1336
1344
  }
1337
1345
  else if (reason >= 1000 && reason <= 1999 ) {
1338
- action = strSending;
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
 
@@ -1381,7 +1390,7 @@
1381
1390
  var _this = _super.call(this) || this;
1382
1391
  _this.identifier = "PostChannel";
1383
1392
  _this.priority = 1011;
1384
- _this.version = '3.2.2';
1393
+ _this.version = '3.2.5';
1385
1394
  var _config;
1386
1395
  var _isTeardownCalled = false;
1387
1396
  var _flushCallbackQueue = [];
@@ -1406,7 +1415,6 @@
1406
1415
  var _delayedBatchReason;
1407
1416
  var _optimizeObject = true;
1408
1417
  var _isPageUnloadTriggered = false;
1409
- var _disableXhrSync = false;
1410
1418
  var _maxEventSendAttempts = MaxSendAttempts;
1411
1419
  var _maxUnloadEventSendAttempts = MaxSyncUnloadSendAttempts;
1412
1420
  var _evtNamespace;
@@ -1438,7 +1446,6 @@
1438
1446
  if (_config.autoFlushEventsLimit > 0) {
1439
1447
  _autoFlushEventsLimit = _config.autoFlushEventsLimit;
1440
1448
  }
1441
- _disableXhrSync = _config.disableXhrSync;
1442
1449
  if (_1dsCoreJs.isNumber(_config[strMaxEventRetryAttempts])) {
1443
1450
  _maxEventSendAttempts = _config[strMaxEventRetryAttempts];
1444
1451
  }
@@ -1532,11 +1539,11 @@
1532
1539
  if (!event.latency) {
1533
1540
  event.latency = 1 ;
1534
1541
  }
1535
- if (event.ext && event.ext["trace"]) {
1536
- delete (event.ext["trace"]);
1542
+ if (event.ext && event.ext[STR_TRACE]) {
1543
+ delete (event.ext[STR_TRACE]);
1537
1544
  }
1538
- if (event.ext && event.ext["user"] && event.ext["user"]["id"]) {
1539
- delete (event.ext["user"]["id"]);
1545
+ if (event.ext && event.ext[STR_USER] && event.ext[STR_USER]["id"]) {
1546
+ delete (event.ext[STR_USER]["id"]);
1540
1547
  }
1541
1548
  if (_optimizeObject) {
1542
1549
  event.ext = _1dsCoreJs.optimizeObject(event.ext);
@@ -1646,13 +1653,13 @@
1646
1653
  _self.flush = function (async, callback, sendReason) {
1647
1654
  if (async === void 0) { async = true; }
1648
1655
  if (!_paused) {
1649
- _clearScheduledTimer();
1650
1656
  sendReason = sendReason || 1 ;
1651
1657
  if (async) {
1652
- _queueBatches(1 , 0 , sendReason);
1653
- _resetQueueCounts();
1654
1658
  if (_flushCallbackTimerId == null) {
1659
+ _clearScheduledTimer();
1660
+ _queueBatches(1 , 0 , sendReason);
1655
1661
  _flushCallbackTimerId = _createTimer(function () {
1662
+ _flushCallbackTimerId = null;
1656
1663
  _flushImpl(callback, sendReason);
1657
1664
  }, 0);
1658
1665
  }
@@ -1661,15 +1668,19 @@
1661
1668
  }
1662
1669
  }
1663
1670
  else {
1671
+ var cleared = _clearScheduledTimer();
1664
1672
  _sendEventsForLatencyAndAbove(1 , 1 , sendReason);
1665
1673
  if (callback !== null && callback !== undefined) {
1666
1674
  callback();
1667
1675
  }
1676
+ if (cleared) {
1677
+ _scheduleTimer();
1678
+ }
1668
1679
  }
1669
1680
  }
1670
1681
  };
1671
1682
  _self.setMsaAuthTicket = function (ticket) {
1672
- _httpManager.addHeader(strMsaDeviceTicket, ticket);
1683
+ _httpManager.addHeader(STR_MSA_DEVICE_TICKET, ticket);
1673
1684
  };
1674
1685
  _self.hasEvents = _hasEvents;
1675
1686
  _self._setTransmitProfile = function (profileName) {
@@ -1755,7 +1766,6 @@
1755
1766
  _delayedBatchReason = null;
1756
1767
  _optimizeObject = true;
1757
1768
  _isPageUnloadTriggered = false;
1758
- _disableXhrSync = false;
1759
1769
  _maxEventSendAttempts = MaxSendAttempts;
1760
1770
  _maxUnloadEventSendAttempts = MaxSyncUnloadSendAttempts;
1761
1771
  _evtNamespace = null;
@@ -1787,7 +1797,9 @@
1787
1797
  _timeoutWrapper.clear(_scheduledTimerId);
1788
1798
  _scheduledTimerId = null;
1789
1799
  _timerCount = 0;
1800
+ return true;
1790
1801
  }
1802
+ return false;
1791
1803
  }
1792
1804
  function _releaseAllQueues(sendType, sendReason) {
1793
1805
  _clearScheduledTimer();
@@ -1951,18 +1963,20 @@
1951
1963
  }
1952
1964
  function _flushImpl(callback, sendReason) {
1953
1965
  _sendEventsForLatencyAndAbove(1 , 0 , sendReason);
1966
+ _resetQueueCounts();
1954
1967
  _waitForIdleManager(function () {
1955
1968
  if (callback) {
1956
1969
  callback();
1957
1970
  }
1958
1971
  if (_flushCallbackQueue.length > 0) {
1959
- _flushCallbackTimerId = _createTimer(function () { return _flushImpl(_flushCallbackQueue.shift(), sendReason); }, 0);
1972
+ _flushCallbackTimerId = _createTimer(function () {
1973
+ _flushCallbackTimerId = null;
1974
+ _flushImpl(_flushCallbackQueue.shift(), sendReason);
1975
+ }, 0);
1960
1976
  }
1961
1977
  else {
1962
1978
  _flushCallbackTimerId = null;
1963
- if (_hasEvents()) {
1964
- _scheduleTimer();
1965
- }
1979
+ _scheduleTimer();
1966
1980
  }
1967
1981
  });
1968
1982
  }
@@ -1972,6 +1986,7 @@
1972
1986
  }
1973
1987
  else {
1974
1988
  _flushCallbackTimerId = _createTimer(function () {
1989
+ _flushCallbackTimerId = null;
1975
1990
  _waitForIdleManager(callback);
1976
1991
  }, FlushCheckTimer);
1977
1992
  }
@@ -2095,6 +2110,7 @@
2095
2110
  });
2096
2111
  return _this;
2097
2112
  }
2113
+ PostChannel.__ieDyn=1;
2098
2114
  return PostChannel;
2099
2115
  }(_1dsCoreJs.BaseTelemetryPlugin));
2100
2116