@microsoft/1ds-post-js 3.1.9 → 3.1.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.
Files changed (56) hide show
  1. package/README.md +1 -0
  2. package/bundle/{ms.post-3.1.9.gbl.js → ms.post-3.1.10.gbl.js} +196 -92
  3. package/bundle/ms.post-3.1.10.gbl.js.map +1 -0
  4. package/bundle/ms.post-3.1.10.gbl.min.js +7 -0
  5. package/bundle/ms.post-3.1.10.gbl.min.js.map +1 -0
  6. package/bundle/ms.post-3.1.10.integrity.json +46 -0
  7. package/bundle/{ms.post-3.1.9.js → ms.post-3.1.10.js} +196 -92
  8. package/bundle/ms.post-3.1.10.js.map +1 -0
  9. package/bundle/ms.post-3.1.10.min.js +7 -0
  10. package/bundle/ms.post-3.1.10.min.js.map +1 -0
  11. package/bundle/ms.post.gbl.js +195 -91
  12. package/bundle/ms.post.gbl.js.map +1 -1
  13. package/bundle/ms.post.gbl.min.js +2 -2
  14. package/bundle/ms.post.gbl.min.js.map +1 -1
  15. package/bundle/ms.post.integrity.json +17 -17
  16. package/bundle/ms.post.js +195 -91
  17. package/bundle/ms.post.js.map +1 -1
  18. package/bundle/ms.post.min.js +2 -2
  19. package/bundle/ms.post.min.js.map +1 -1
  20. package/dist/ms.post.js +140 -72
  21. package/dist/ms.post.js.map +1 -1
  22. package/dist/ms.post.min.js +2 -2
  23. package/dist/ms.post.min.js.map +1 -1
  24. package/dist-esm/src/BatchNotificationActions.js +1 -1
  25. package/dist-esm/src/ClockSkewManager.js +1 -1
  26. package/dist-esm/src/Constants.d.ts +24 -0
  27. package/dist-esm/src/Constants.js +30 -0
  28. package/dist-esm/src/Constants.js.map +1 -0
  29. package/dist-esm/src/DataModels.d.ts +6 -0
  30. package/dist-esm/src/DataModels.js +1 -1
  31. package/dist-esm/src/EventBatch.d.ts +5 -2
  32. package/dist-esm/src/EventBatch.js +35 -15
  33. package/dist-esm/src/EventBatch.js.map +1 -1
  34. package/dist-esm/src/HttpManager.d.ts +1 -1
  35. package/dist-esm/src/HttpManager.js +112 -64
  36. package/dist-esm/src/HttpManager.js.map +1 -1
  37. package/dist-esm/src/Index.js +1 -1
  38. package/dist-esm/src/KillSwitch.js +1 -1
  39. package/dist-esm/src/PostChannel.js +6 -5
  40. package/dist-esm/src/PostChannel.js.map +1 -1
  41. package/dist-esm/src/RetryPolicy.js +1 -1
  42. package/dist-esm/src/Serializer.js +1 -1
  43. package/dist-esm/src/typings/XDomainRequest.js +1 -1
  44. package/package.json +3 -3
  45. package/src/Constants.ts +27 -0
  46. package/src/DataModels.ts +8 -1
  47. package/src/EventBatch.ts +47 -14
  48. package/src/HttpManager.ts +143 -66
  49. package/src/PostChannel.ts +4 -3
  50. package/bundle/ms.post-3.1.9.gbl.js.map +0 -1
  51. package/bundle/ms.post-3.1.9.gbl.min.js +0 -7
  52. package/bundle/ms.post-3.1.9.gbl.min.js.map +0 -1
  53. package/bundle/ms.post-3.1.9.integrity.json +0 -46
  54. package/bundle/ms.post-3.1.9.js.map +0 -1
  55. package/bundle/ms.post-3.1.9.min.js +0 -7
  56. package/bundle/ms.post-3.1.9.min.js.map +0 -1
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "ms.post",
3
+ "version": "3.1.10",
4
+ "ext": {
5
+ "@gbl.js": {
6
+ "file": "ms.post-3.1.10.gbl.js",
7
+ "type": "text/javascript; charset=utf-8",
8
+ "integrity": "sha256-M/o9qVGoBUdMu+0UB/FKsRl5NbogdSBrWDTFSb2bGb8= sha384-PEoY837FNi8FeGRRs+WQ+NsedqpSxszp0pwR6SjyWIuSRNOH+mBYLFUWSb/MbOoG sha512-EHFdfoQPrhIt+bZm6xJiBHjplR+mUYDfmMNZllngv7jYRJqn2lTQawv6HX4mgcm6PfNpLskhc0M3g3k+uerIvQ==",
9
+ "hashes": {
10
+ "sha256": "M/o9qVGoBUdMu+0UB/FKsRl5NbogdSBrWDTFSb2bGb8=",
11
+ "sha384": "PEoY837FNi8FeGRRs+WQ+NsedqpSxszp0pwR6SjyWIuSRNOH+mBYLFUWSb/MbOoG",
12
+ "sha512": "EHFdfoQPrhIt+bZm6xJiBHjplR+mUYDfmMNZllngv7jYRJqn2lTQawv6HX4mgcm6PfNpLskhc0M3g3k+uerIvQ=="
13
+ }
14
+ },
15
+ "@gbl.min.js": {
16
+ "file": "ms.post-3.1.10.gbl.min.js",
17
+ "type": "text/javascript; charset=utf-8",
18
+ "integrity": "sha256-APCjefDbEDPcNzGXHIYBWsXYnvIHw+9xjGkZrZ1fvfM= sha384-2MOe/14PmTW0uXyZC0KfYV8LzYLs0YOVEtLG3bxMi2H0jiHd0K8DfQPRHuTG4smj sha512-pTUwf/1qNBpRB1Tlpu4+i4bwMdSmoVczOc73KVK56pJPx6KK9Vjc/NdUcpcyRxcUci3TYbKrl6EMqdxVhY7cIg==",
19
+ "hashes": {
20
+ "sha256": "APCjefDbEDPcNzGXHIYBWsXYnvIHw+9xjGkZrZ1fvfM=",
21
+ "sha384": "2MOe/14PmTW0uXyZC0KfYV8LzYLs0YOVEtLG3bxMi2H0jiHd0K8DfQPRHuTG4smj",
22
+ "sha512": "pTUwf/1qNBpRB1Tlpu4+i4bwMdSmoVczOc73KVK56pJPx6KK9Vjc/NdUcpcyRxcUci3TYbKrl6EMqdxVhY7cIg=="
23
+ }
24
+ },
25
+ "@js": {
26
+ "file": "ms.post-3.1.10.js",
27
+ "type": "text/javascript; charset=utf-8",
28
+ "integrity": "sha256-NqgOU6EpsNN6pqgvYaNOd9+Y7MNzfLtkwjwr8At9OwM= sha384-HWYztVs/PduKQOyk34yKhKV/RphHvGJEMi4cb+e9tT1gfPTxC3g9g3BvNTV3Ih2d sha512-56MjqeEavatg2FbNIV7UmoIdbuOt/rwtPUz8wAtooY9uyrGLujXvWqw2+QlK0CbWUCRoQv+RKEiAivSVDSsq9g==",
29
+ "hashes": {
30
+ "sha256": "NqgOU6EpsNN6pqgvYaNOd9+Y7MNzfLtkwjwr8At9OwM=",
31
+ "sha384": "HWYztVs/PduKQOyk34yKhKV/RphHvGJEMi4cb+e9tT1gfPTxC3g9g3BvNTV3Ih2d",
32
+ "sha512": "56MjqeEavatg2FbNIV7UmoIdbuOt/rwtPUz8wAtooY9uyrGLujXvWqw2+QlK0CbWUCRoQv+RKEiAivSVDSsq9g=="
33
+ }
34
+ },
35
+ "@min.js": {
36
+ "file": "ms.post-3.1.10.min.js",
37
+ "type": "text/javascript; charset=utf-8",
38
+ "integrity": "sha256-3KCnJugrU73eV/TUULEEdaX34QWE40e033zfiJK+J4A= sha384-7l+qJFs/OI6cvdktNY+w/Z6z4gsFpDUl+GVkwZBwqmdx+gQgTFVR9JqFJVhpGALI sha512-+cy7F4JESomsfiNcqlUL0+Ev1CdmnBI4jM1Ai7IIAKqEo7wVYmxR37W7pbdriHltamCwoLfUqjF/D4792QeZtw==",
39
+ "hashes": {
40
+ "sha256": "3KCnJugrU73eV/TUULEEdaX34QWE40e033zfiJK+J4A=",
41
+ "sha384": "7l+qJFs/OI6cvdktNY+w/Z6z4gsFpDUl+GVkwZBwqmdx+gQgTFVR9JqFJVhpGALI",
42
+ "sha512": "+cy7F4JESomsfiNcqlUL0+Ev1CdmnBI4jM1Ai7IIAKqEo7wVYmxR37W7pbdriHltamCwoLfUqjF/D4792QeZtw=="
43
+ }
44
+ }
45
+ }
46
+ }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK POST plugin, 3.1.9
2
+ * 1DS JS SDK POST plugin, 3.1.10
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -21,20 +21,24 @@
21
21
  var ObjDefineProperty = ObjClass["defineProperty"];
22
22
  var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];
23
23
 
24
- function getGlobal() {
25
- if (typeof globalThis !== strShimUndefined && globalThis) {
26
- return globalThis;
27
- }
28
- if (typeof self !== strShimUndefined && self) {
29
- return self;
30
- }
31
- if (typeof window !== strShimUndefined && window) {
32
- return window;
33
- }
34
- if (typeof global !== strShimUndefined && global) {
35
- return global;
24
+ var _cachedGlobal = null;
25
+ function getGlobal(useCached) {
26
+ if (useCached === void 0) { useCached = true; }
27
+ if (!_cachedGlobal || !useCached) {
28
+ if (typeof globalThis !== strShimUndefined && globalThis) {
29
+ _cachedGlobal = globalThis;
30
+ }
31
+ if (typeof self !== strShimUndefined && self) {
32
+ _cachedGlobal = self;
33
+ }
34
+ if (typeof window !== strShimUndefined && window) {
35
+ _cachedGlobal = window;
36
+ }
37
+ if (typeof global !== strShimUndefined && global) {
38
+ _cachedGlobal = global;
39
+ }
36
40
  }
37
- return null;
41
+ return _cachedGlobal;
38
42
  }
39
43
  function throwTypeError(message) {
40
44
  throw new TypeError(message);
@@ -49,7 +53,7 @@
49
53
  }
50
54
  var type = typeof obj;
51
55
  if (type !== strShimObject && type !== strShimFunction) {
52
- throwTypeError('Object prototype may only be an Object:' + obj);
56
+ throwTypeError("Object prototype may only be an Object:" + obj);
53
57
  }
54
58
  function tmpFunc() { }
55
59
  tmpFunc[strShimPrototype] = obj;
@@ -765,7 +769,7 @@
765
769
  }
766
770
  function useXDomainRequest() {
767
771
  if (_useXDomainRequest === null) {
768
- _useXDomainRequest = (typeof XDomainRequest !== undefined);
772
+ _useXDomainRequest = (typeof XDomainRequest !== "undefined");
769
773
  if (_useXDomainRequest && isXhrSupported()) {
770
774
  _useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst("XMLHttpRequest"), "withCredentials");
771
775
  }
@@ -783,6 +787,22 @@
783
787
  return isSupported;
784
788
  }
785
789
 
790
+ var _aiNamespace = null;
791
+ function _getExtensionNamespace() {
792
+ var target = getGlobalInst("Microsoft");
793
+ if (target) {
794
+ _aiNamespace = target["ApplicationInsights"];
795
+ }
796
+ return _aiNamespace;
797
+ }
798
+ function getDebugExt(config) {
799
+ var ns = _aiNamespace;
800
+ if (!ns && config.disableDbgExt !== true) {
801
+ ns = _aiNamespace || _getExtensionNamespace();
802
+ }
803
+ return ns ? ns["ChromeDbgExt"] : null;
804
+ }
805
+
786
806
  var AiNonUserActionablePrefix = "AI (Internal): ";
787
807
  var AiUserActionablePrefix = "AI: ";
788
808
  var AIInternalMessagePrefix = "AITR_";
@@ -866,13 +886,18 @@
866
886
  }
867
887
  _self.logInternalMessage(severity, message);
868
888
  }
889
+ else {
890
+ _debugExtMsg("throw" + (severity === LoggingSeverity.CRITICAL ? "Critical" : "Warning"), message);
891
+ }
869
892
  }
870
893
  };
871
894
  _self.warnToConsole = function (message) {
872
895
  _logToConsole("warn", message);
896
+ _debugExtMsg("warning", message);
873
897
  };
874
898
  _self.errorToConsole = function (message) {
875
899
  _logToConsole("error", message);
900
+ _debugExtMsg("error", message);
876
901
  };
877
902
  _self.resetInternalMessageCount = function () {
878
903
  _messageCount = 0;
@@ -894,12 +919,18 @@
894
919
  if (severity <= _self.telemetryLoggingLevel()) {
895
920
  _self.queue.push(message);
896
921
  _messageCount++;
922
+ _debugExtMsg((severity === LoggingSeverity.CRITICAL ? "error" : "warn"), message);
897
923
  }
898
924
  if (_messageCount === _self.maxInternalMessageLimit()) {
899
925
  var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
900
926
  var throttleMessage = new _InternalLogMessage(_InternalMessageId.MessageLimitPerPVExceeded, throttleLimitMessage, false);
901
927
  _self.queue.push(throttleMessage);
902
- _self.warnToConsole(throttleLimitMessage);
928
+ if (severity === LoggingSeverity.CRITICAL) {
929
+ _self.errorToConsole(throttleLimitMessage);
930
+ }
931
+ else {
932
+ _self.warnToConsole(throttleLimitMessage);
933
+ }
903
934
  }
904
935
  }
905
936
  };
@@ -913,6 +944,12 @@
913
944
  function _areInternalMessagesThrottled() {
914
945
  return _messageCount >= _self.maxInternalMessageLimit();
915
946
  }
947
+ function _debugExtMsg(name, data) {
948
+ var dbgExt = getDebugExt(config);
949
+ if (dbgExt && dbgExt.diagLog) {
950
+ dbgExt.diagLog(name, data);
951
+ }
952
+ }
916
953
  });
917
954
  }
918
955
  return DiagnosticLogger;
@@ -1400,7 +1437,7 @@
1400
1437
  var _ExtendedInternalMessageId = __assignFn(__assignFn({}, _InternalMessageId), { AuthHandShakeError: 501, AuthRedirectFail: 502, BrowserCannotReadLocalStorage: 503, BrowserCannotWriteLocalStorage: 504, BrowserDoesNotSupportLocalStorage: 505, CannotParseBiBlobValue: 506, CannotParseDataAttribute: 507, CVPluginNotAvailable: 508, DroppedEvent: 509, ErrorParsingAISessionCookie: 510, ErrorProvidedChannels: 511, FailedToGetCookies: 512, FailedToInitializeCorrelationVector: 513, FailedToInitializeSDK: 514, InvalidContentBlob: 515, InvalidCorrelationValue: 516, SessionRenewalDateIsZero: 517, SendPostOnCompleteFailure: 518, PostResponseHandler: 519, SDKNotInitialized: 520 });
1401
1438
 
1402
1439
  var _a$1;
1403
- var Version = '3.1.9';
1440
+ var Version = '3.1.10';
1404
1441
  var FullVersionString = "1DS-Web-JS-" + Version;
1405
1442
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
1406
1443
  var strWithCredentials = "withCredentials";
@@ -1603,42 +1640,81 @@
1603
1640
  var NRT_PROFILE = "NEAR_REAL_TIME";
1604
1641
  var BE_PROFILE = "BEST_EFFORT";
1605
1642
 
1643
+ var Method = "POST";
1644
+ var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
1645
+ var strDropped = "drop";
1646
+ var strSending = "send";
1647
+ var strRequeue = "requeue";
1648
+ var strResponseFail = "rspFail";
1649
+ var strOther = "oth";
1650
+ var defaultCacheControl = "no-cache, no-store";
1651
+ var defaultContentType = "application/x-json-stream";
1652
+ var strCacheControl = "cache-control";
1653
+ var strContentTypeHeader = "content-type";
1654
+ var strKillTokensHeader = "kill-tokens";
1655
+ var strKillDurationHeader = "kill-duration";
1656
+ var strKillDurationSecondsHeader = "kill-duration-seconds";
1657
+ var strTimeDeltaHeader = "time-delta-millis";
1658
+ var strClientVersion = "client-version";
1659
+ var strClientId = "client-id";
1660
+ var strTimeDeltaToApply = "time-delta-to-apply-millis";
1661
+ var strUploadTime = "upload-time";
1662
+ var strApiKey = "apikey";
1663
+ var strMsaDeviceTicket = "AuthMsaDeviceTicket";
1664
+ var strMsfpc = "msfpc";
1665
+
1666
+ function _getEventMsfpc(theEvent) {
1667
+ var intWeb = ((theEvent.ext || {})["intweb"]);
1668
+ if (intWeb && isValueAssigned(intWeb[strMsfpc])) {
1669
+ return intWeb[strMsfpc];
1670
+ }
1671
+ return null;
1672
+ }
1673
+ function _getMsfpc(theEvents) {
1674
+ var msfpc = null;
1675
+ for (var lp = 0; msfpc === null && lp < theEvents.length; lp++) {
1676
+ msfpc = _getEventMsfpc(theEvents[lp]);
1677
+ }
1678
+ return msfpc;
1679
+ }
1606
1680
  var EventBatch = /** @class */ (function () {
1607
1681
  function EventBatch(iKey, addEvents) {
1608
1682
  var events = addEvents ? [].concat(addEvents) : [];
1609
1683
  var _self = this;
1684
+ var _msfpc = _getMsfpc(events);
1610
1685
  _self.iKey = function () {
1611
1686
  return iKey;
1612
1687
  };
1688
+ _self.Msfpc = function () {
1689
+ return _msfpc || "";
1690
+ };
1613
1691
  _self.count = function () {
1614
1692
  return events.length;
1615
1693
  };
1616
1694
  _self.events = function () {
1617
1695
  return events;
1618
1696
  };
1619
- _self.addEvents = function (theEvents, append) {
1620
- if (append === void 0) { append = true; }
1621
- if (theEvents && theEvents.length > 0) {
1622
- if (append) {
1623
- events = events.concat(theEvents);
1624
- }
1625
- else {
1626
- events = theEvents.concat(events);
1697
+ _self.addEvent = function (theEvent) {
1698
+ if (theEvent) {
1699
+ events.push(theEvent);
1700
+ if (!_msfpc) {
1701
+ _msfpc = _getEventMsfpc(theEvent);
1627
1702
  }
1628
- return theEvents.length;
1703
+ return true;
1629
1704
  }
1630
- return 0;
1705
+ return false;
1631
1706
  };
1632
1707
  _self.split = function (fromEvent, numEvents) {
1633
- var newBatch = new EventBatch(iKey);
1708
+ var theEvents;
1634
1709
  if (fromEvent < events.length) {
1635
1710
  var cnt = events.length - fromEvent;
1636
1711
  if (!isNullOrUndefined(numEvents)) {
1637
1712
  cnt = numEvents < cnt ? numEvents : cnt;
1638
1713
  }
1639
- newBatch.addEvents(events.splice(fromEvent, cnt), true);
1714
+ theEvents = events.splice(fromEvent, cnt);
1715
+ _msfpc = _getMsfpc(events);
1640
1716
  }
1641
- return newBatch;
1717
+ return new EventBatch(iKey, theEvents);
1642
1718
  };
1643
1719
  }
1644
1720
  EventBatch.create = function (iKey, theEvents) {
@@ -2008,21 +2084,6 @@
2008
2084
  var EVTClockSkewManager = ClockSkewManager;
2009
2085
 
2010
2086
  var _a;
2011
- var Method = "POST";
2012
- var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2013
- var strDropped = "drop";
2014
- var strSending = "send";
2015
- var strRequeue = "requeue";
2016
- var strResponseFail = "rspFail";
2017
- var strOther = "oth";
2018
- var defaultCacheControl = "no-cache, no-store";
2019
- var defaultContentType = "application/x-json-stream";
2020
- var strCacheControl = "cache-control";
2021
- var strContentTypeHeader = "content-type";
2022
- var strKillTokensHeader = "kill-tokens";
2023
- var strKillDurationHeader = "kill-duration";
2024
- var strKillDurationSecondsHeader = "kill-duration-seconds";
2025
- var strTimeDeltaHeader = "time-delta-millis";
2026
2087
  var _eventActionMap = (_a = {},
2027
2088
  _a[1 ] = strRequeue,
2028
2089
  _a[100 ] = strRequeue,
@@ -2030,6 +2091,13 @@
2030
2091
  _a[8004 ] = strDropped,
2031
2092
  _a[8003 ] = strDropped,
2032
2093
  _a);
2094
+ var _collectorQsHeaders = {};
2095
+ var _collectorHeaderToQs = {};
2096
+ function _addCollectorHeaderQsMapping(qsName, headerName) {
2097
+ _collectorQsHeaders[qsName] = headerName;
2098
+ _collectorHeaderToQs[headerName] = qsName;
2099
+ }
2100
+ _addCollectorHeaderQsMapping(strMsaDeviceTicket, strMsaDeviceTicket);
2033
2101
  function _getResponseText(xhr) {
2034
2102
  try {
2035
2103
  return xhr.responseText;
@@ -2056,11 +2124,21 @@
2056
2124
  }
2057
2125
  return hasHeader;
2058
2126
  }
2127
+ function _addRequestDetails(details, name, value, useHeaders) {
2128
+ if (name && value && value.length > 0) {
2129
+ if (useHeaders && _collectorQsHeaders[name]) {
2130
+ details.hdrs[_collectorQsHeaders[name]] = value;
2131
+ details.useHdrs = true;
2132
+ }
2133
+ else {
2134
+ details.url += "&" + name + "=" + value;
2135
+ }
2136
+ }
2137
+ }
2059
2138
  var HttpManager = /** @class */ (function () {
2060
2139
  function HttpManager(maxEventsPerBatch, maxConnections, maxRetries, actions) {
2061
2140
  this._responseHandlers = [];
2062
- var _urlString = "?cors=true&" + strContentTypeHeader.toLowerCase() + "=" + defaultContentType + "&client-id=NO_AUTH&client-version="
2063
- + FullVersionString;
2141
+ var _urlString = "?cors=true&" + strContentTypeHeader.toLowerCase() + "=" + defaultContentType;
2064
2142
  var _killSwitch = new EVTKillSwitch();
2065
2143
  var _paused = false;
2066
2144
  var _clockSkewManager = new EVTClockSkewManager();
@@ -2077,6 +2155,7 @@
2077
2155
  var _enableEventTimings = false;
2078
2156
  var _cookieMgr;
2079
2157
  var _isUnloading = false;
2158
+ var _useHeaders = false;
2080
2159
  dynamicProto(HttpManager, this, function (_self) {
2081
2160
  var _sendCredentials = true;
2082
2161
  _self.initialize = function (endpointUrl, core, postChannel, httpInterface, channelConfig) {
@@ -2085,6 +2164,7 @@
2085
2164
  channelConfig = {};
2086
2165
  }
2087
2166
  _urlString = endpointUrl + _urlString;
2167
+ _useHeaders = !isUndefined(channelConfig.avoidOptions) ? !channelConfig.avoidOptions : false;
2088
2168
  _core = core;
2089
2169
  _cookieMgr = core.getCookieMgr();
2090
2170
  _enableEventTimings = !_core.config.disableEventTimings;
@@ -2193,6 +2273,8 @@
2193
2273
  }
2194
2274
  function _fetchSendPost(payload, oncomplete, sync) {
2195
2275
  var _a;
2276
+ var ignoreResponse = false;
2277
+ var responseHandled = false;
2196
2278
  var requestInit = (_a = {
2197
2279
  body: payload.data,
2198
2280
  method: Method
@@ -2201,6 +2283,9 @@
2201
2283
  _a);
2202
2284
  if (sync) {
2203
2285
  requestInit.keepalive = true;
2286
+ if (payload._sendReason === 2 ) {
2287
+ ignoreResponse = true;
2288
+ }
2204
2289
  }
2205
2290
  if (_sendCredentials) {
2206
2291
  requestInit.credentials = "include";
@@ -2221,11 +2306,21 @@
2221
2306
  responseText = text;
2222
2307
  });
2223
2308
  }
2224
- _doOnComplete(oncomplete, response.status, headerMap, responseText);
2225
- _handleCollectorResponse(responseText);
2309
+ if (!responseHandled) {
2310
+ responseHandled = true;
2311
+ _doOnComplete(oncomplete, response.status, headerMap, responseText);
2312
+ _handleCollectorResponse(responseText);
2313
+ }
2226
2314
  })["catch"](function (error) {
2227
- _doOnComplete(oncomplete, 0, {});
2315
+ if (!responseHandled) {
2316
+ responseHandled = true;
2317
+ _doOnComplete(oncomplete, 0, {});
2318
+ }
2228
2319
  });
2320
+ if (ignoreResponse && !responseHandled) {
2321
+ responseHandled = true;
2322
+ _doOnComplete(oncomplete, 200, {});
2323
+ }
2229
2324
  }
2230
2325
  function _xhrSendPost(payload, oncomplete, sync) {
2231
2326
  function _appendHeader(theHeaders, xhr, name) {
@@ -2475,8 +2570,16 @@
2475
2570
  _postManager.diagLog().throwInternal(LoggingSeverity.WARNING, _ExtendedInternalMessageId.CannotSerializeObject, "Unexpected Exception sending batch: " + dumpObj(ex));
2476
2571
  }
2477
2572
  }
2478
- function _buildQueryString(thePayload) {
2479
- var urlString = _urlString;
2573
+ function _buildRequestDetails(thePayload, useHeaders) {
2574
+ var requestDetails = {
2575
+ url: _urlString,
2576
+ hdrs: {},
2577
+ useHdrs: false
2578
+ };
2579
+ requestDetails.hdrs = extend(requestDetails.hdrs, _headers);
2580
+ requestDetails.useHdrs = (objKeys(requestDetails.hdrs).length > 0);
2581
+ _addRequestDetails(requestDetails, strClientId, "NO_AUTH", useHeaders);
2582
+ _addRequestDetails(requestDetails, strClientVersion, FullVersionString, useHeaders);
2480
2583
  var apiQsKeys = "";
2481
2584
  arrForEach(thePayload.apiKeys, function (apiKey) {
2482
2585
  if (apiQsKeys.length > 0) {
@@ -2484,27 +2587,25 @@
2484
2587
  }
2485
2588
  apiQsKeys += apiKey;
2486
2589
  });
2487
- if (apiQsKeys.length > 0) {
2488
- urlString += "&apikey=" + apiQsKeys;
2489
- }
2490
- urlString += "&upload-time=" + dateNow().toString();
2590
+ _addRequestDetails(requestDetails, strApiKey, apiQsKeys, useHeaders);
2591
+ _addRequestDetails(requestDetails, strUploadTime, dateNow().toString(), useHeaders);
2491
2592
  var msfpc = _getMsfpc(thePayload);
2492
2593
  if (isValueAssigned(msfpc)) {
2493
- urlString = urlString + "&ext.intweb.msfpc=" + msfpc;
2594
+ requestDetails.url += "&ext.intweb.msfpc=" + msfpc;
2494
2595
  }
2495
2596
  if (_clockSkewManager.shouldAddClockSkewHeaders()) {
2496
- urlString += "&time-delta-to-apply-millis=" + _clockSkewManager.getClockSkewHeaderValue();
2597
+ _addRequestDetails(requestDetails, strTimeDeltaToApply, _clockSkewManager.getClockSkewHeaderValue(), useHeaders);
2497
2598
  }
2498
2599
  if (_core.getWParam) {
2499
2600
  var wParam = _core.getWParam();
2500
2601
  if (wParam >= 0) {
2501
- urlString += "&w=" + wParam;
2602
+ requestDetails.url += "&w=" + wParam;
2502
2603
  }
2503
2604
  }
2504
2605
  for (var i = 0; i < _queryStringParameters.length; i++) {
2505
- urlString += "&" + _queryStringParameters[i].name + "=" + _queryStringParameters[i].value;
2606
+ requestDetails.url += "&" + _queryStringParameters[i].name + "=" + _queryStringParameters[i].value;
2506
2607
  }
2507
- return urlString;
2608
+ return requestDetails;
2508
2609
  }
2509
2610
  function _canUseSendBeaconApi() {
2510
2611
  return !_customHttpInterface && _useBeacons && isBeaconsSupported();
@@ -2515,7 +2616,17 @@
2515
2616
  }
2516
2617
  function _doPayloadSend(thePayload, serializationStart, serializationCompleted, sendReason) {
2517
2618
  if (thePayload && thePayload.payloadBlob && thePayload.payloadBlob.length > 0) {
2518
- var urlString_1 = _buildQueryString(thePayload);
2619
+ var useSendHook_1 = !!_self.sendHook;
2620
+ var sendInterface_1 = _sendInterfaces[thePayload.sendType];
2621
+ if (!_isBeaconPayload(thePayload.sendType) && thePayload.isBeacon && thePayload.sendReason === 2 ) {
2622
+ sendInterface_1 = _sendInterfaces[2 ] || _sendInterfaces[3 ] || sendInterface_1;
2623
+ }
2624
+ var useHeaders_1 = _useHeaders;
2625
+ if (thePayload.isBeacon || sendInterface_1._transport === 3 ) {
2626
+ useHeaders_1 = false;
2627
+ }
2628
+ var requestDetails_1 = _buildRequestDetails(thePayload, useHeaders_1);
2629
+ useHeaders_1 = useHeaders_1 || requestDetails_1.useHdrs;
2519
2630
  var sendEventStart_1 = getTime();
2520
2631
  var strSendAttempt_1 = "sendAttempt";
2521
2632
  doPerf(_core, function () { return "HttpManager:_doPayloadSend"; }, function () {
@@ -2536,24 +2647,21 @@
2536
2647
  _sendBatchesNotification(thePayload.batches, (1000 + (sendReason || 0 )), thePayload.sendType, true);
2537
2648
  var orgPayloadData = {
2538
2649
  data: thePayload.payloadBlob,
2539
- urlString: urlString_1,
2540
- headers: extend({}, _headers),
2650
+ urlString: requestDetails_1.url,
2651
+ headers: requestDetails_1.hdrs,
2541
2652
  _thePayload: thePayload,
2542
2653
  _sendReason: sendReason
2543
2654
  };
2544
- if (!_hasHeader(orgPayloadData.headers, strCacheControl)) {
2545
- orgPayloadData.headers[strCacheControl] = defaultCacheControl;
2546
- }
2547
- if (!_hasHeader(orgPayloadData.headers, strContentTypeHeader)) {
2548
- orgPayloadData.headers[strContentTypeHeader] = defaultContentType;
2655
+ if (useHeaders_1) {
2656
+ if (!_hasHeader(orgPayloadData.headers, strCacheControl)) {
2657
+ orgPayloadData.headers[strCacheControl] = defaultCacheControl;
2658
+ }
2659
+ if (!_hasHeader(orgPayloadData.headers, strContentTypeHeader)) {
2660
+ orgPayloadData.headers[strContentTypeHeader] = defaultContentType;
2661
+ }
2549
2662
  }
2550
2663
  var sender = null;
2551
- var useSendHook = !!_self.sendHook;
2552
- var sendInterface = _sendInterfaces[thePayload.sendType];
2553
- if (!_isBeaconPayload(thePayload.sendType) && thePayload.isBeacon && thePayload.sendReason === 2 ) {
2554
- sendInterface = _sendInterfaces[2 ] || _sendInterfaces[3 ] || sendInterface;
2555
- }
2556
- if (sendInterface) {
2664
+ if (sendInterface_1) {
2557
2665
  sender = function (payload) {
2558
2666
  _clockSkewManager.firstRequestSent();
2559
2667
  var onComplete = function (status, headers) {
@@ -2561,7 +2669,7 @@
2561
2669
  };
2562
2670
  var isSync = thePayload.isTeardown || thePayload.isSync;
2563
2671
  try {
2564
- sendInterface.sendPOST(payload, onComplete, isSync);
2672
+ sendInterface_1.sendPOST(payload, onComplete, isSync);
2565
2673
  if (_self.sendListener) {
2566
2674
  _self.sendListener(orgPayloadData, payload, isSync, thePayload.isBeacon);
2567
2675
  }
@@ -2577,7 +2685,7 @@
2577
2685
  if (thePayload.sendType === 0 ) {
2578
2686
  _outstandingRequests++;
2579
2687
  }
2580
- if (useSendHook && !thePayload.isBeacon && sendInterface._transport !== 3 ) {
2688
+ if (useSendHook_1 && !thePayload.isBeacon && sendInterface_1._transport !== 3 ) {
2581
2689
  var hookData_1 = {
2582
2690
  data: orgPayloadData.data,
2583
2691
  urlString: orgPayloadData.urlString,
@@ -2744,12 +2852,9 @@
2744
2852
  }
2745
2853
  function _getMsfpc(thePayload) {
2746
2854
  for (var lp = 0; lp < thePayload.batches.length; lp++) {
2747
- var batchEvents = thePayload.batches[lp].events();
2748
- for (var evtLp = 0; evtLp < batchEvents.length; evtLp++) {
2749
- var intWeb = ((batchEvents[evtLp].ext || {})["intweb"] || {});
2750
- if (isValueAssigned(intWeb["msfpc"])) {
2751
- return encodeURIComponent(intWeb["msfpc"]);
2752
- }
2855
+ var msfpc = thePayload.batches[lp].Msfpc();
2856
+ if (msfpc) {
2857
+ return encodeURIComponent(msfpc);
2753
2858
  }
2754
2859
  }
2755
2860
  return "";
@@ -2767,8 +2872,8 @@
2767
2872
  }
2768
2873
  if (responseText) {
2769
2874
  var response = JSON.parse(responseText);
2770
- if (isValueAssigned(response.webResult) && isValueAssigned(response.webResult.msfpc)) {
2771
- _cookieMgr.set("MSFPC", response.webResult.msfpc, 365 * 86400);
2875
+ if (isValueAssigned(response.webResult) && isValueAssigned(response.webResult[strMsfpc])) {
2876
+ _cookieMgr.set("MSFPC", response.webResult[strMsfpc], 365 * 86400);
2772
2877
  }
2773
2878
  }
2774
2879
  }
@@ -2813,7 +2918,6 @@
2813
2918
  }
2814
2919
  return HttpManager;
2815
2920
  }());
2816
- var HttpManager$1 = HttpManager;
2817
2921
 
2818
2922
  var FlushCheckTimer = 0.250;
2819
2923
  var MaxNumberEventPerBatch = 500;
@@ -2831,7 +2935,7 @@
2831
2935
  var _this = _super.call(this) || this;
2832
2936
  _this.identifier = "PostChannel";
2833
2937
  _this.priority = 1011;
2834
- _this.version = '3.1.9';
2938
+ _this.version = '3.1.10';
2835
2939
  var _config;
2836
2940
  var _isTeardownCalled = false;
2837
2941
  var _flushCallbackQueue = [];
@@ -2860,7 +2964,7 @@
2860
2964
  _initializeProfiles();
2861
2965
  _clearQueues();
2862
2966
  _setAutoLimits();
2863
- _httpManager = new HttpManager$1(MaxNumberEventPerBatch, MaxConnections, MaxRetries, {
2967
+ _httpManager = new HttpManager(MaxNumberEventPerBatch, MaxConnections, MaxRetries, {
2864
2968
  requeue: _requeueEvents,
2865
2969
  send: _sendingEvent,
2866
2970
  sent: _eventsSentEvent,
@@ -3104,7 +3208,7 @@
3104
3208
  }
3105
3209
  };
3106
3210
  _self.setMsaAuthTicket = function (ticket) {
3107
- _httpManager.addHeader("AuthMsaDeviceTicket", ticket);
3211
+ _httpManager.addHeader(strMsaDeviceTicket, ticket);
3108
3212
  };
3109
3213
  _self.hasEvents = _hasEvents;
3110
3214
  _self._setTransmitProfile = function (profileName) {
@@ -3241,7 +3345,7 @@
3241
3345
  }
3242
3346
  var latency = event.latency;
3243
3347
  var eventBatch = _getEventBatch(event.iKey, latency, true);
3244
- if (eventBatch.addEvents([event], append)) {
3348
+ if (eventBatch.addEvent(event)) {
3245
3349
  if (latency !== EventLatency.Immediate) {
3246
3350
  _queueSize++;
3247
3351
  if (append && event.sendAttempt === 0) {
@@ -3491,4 +3595,4 @@
3491
3595
  (function(obj, prop, descriptor) { /* ai_es3_polyfil defineProperty */ var func = Object["defineProperty"]; if (func) { try { return func(obj, prop, descriptor); } catch(e) { /* IE8 defines defineProperty, but will throw */ } } if (descriptor && typeof descriptor.value !== undefined) { obj[prop] = descriptor.value; } return obj; })(exports, '__esModule', { value: true });
3492
3596
 
3493
3597
  }));
3494
- //# sourceMappingURL=ms.post-3.1.9.js.map
3598
+ //# sourceMappingURL=ms.post-3.1.10.js.map