@microsoft/applicationinsights-dependencies-js 2.8.5-nightly.2206-04 → 2.8.5-nightly.2207-02
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/browser/applicationinsights-dependencies-js.integrity.json +9 -9
- package/browser/applicationinsights-dependencies-js.js +1124 -934
- package/browser/applicationinsights-dependencies-js.js.map +1 -1
- package/browser/applicationinsights-dependencies-js.min.js +2 -2
- package/browser/applicationinsights-dependencies-js.min.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.api.json +43 -5
- package/dist/applicationinsights-dependencies-js.api.md +6 -1
- package/dist/applicationinsights-dependencies-js.d.ts +9 -3
- package/dist/applicationinsights-dependencies-js.js +1124 -934
- package/dist/applicationinsights-dependencies-js.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.min.js +2 -2
- package/dist/applicationinsights-dependencies-js.min.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.rollup.d.ts +9 -3
- package/dist-esm/DependencyListener.js +1 -1
- package/dist-esm/InternalConstants.js +14 -0
- package/dist-esm/InternalConstants.js.map +1 -0
- package/dist-esm/__DynamicConstants.js +64 -0
- package/dist-esm/__DynamicConstants.js.map +1 -0
- package/dist-esm/ajax.js +201 -189
- package/dist-esm/ajax.js.map +1 -1
- package/dist-esm/ajaxRecord.js +54 -54
- package/dist-esm/ajaxRecord.js.map +1 -1
- package/dist-esm/ajaxUtils.js +3 -2
- package/dist-esm/ajaxUtils.js.map +1 -1
- package/dist-esm/applicationinsights-dependencies-js.js +2 -2
- package/dist-esm/applicationinsights-dependencies-js.js.map +1 -1
- package/package.json +7 -4
- package/src/InternalConstants.ts +13 -0
- package/src/__DynamicConstants.ts +62 -0
- package/src/ajax.ts +39 -32
- package/src/ajaxRecord.ts +25 -24
- package/src/ajaxUtils.ts +6 -6
- package/src/applicationinsights-dependencies-js.ts +1 -1
- package/types/InternalConstants.d.ts +2 -0
- package/types/__DynamicConstants.d.ts +50 -0
- package/types/ajax.d.ts +6 -4
- package/types/ajaxRecord.d.ts +2 -1
- package/types/applicationinsights-dependencies-js.d.ts +1 -1
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Dependencies Plugin, 2.8.5-nightly.
|
|
2
|
+
* Application Insights JavaScript SDK - Dependencies Plugin, 2.8.5-nightly.2207-02
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -98,14 +98,307 @@
|
|
|
98
98
|
d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
var
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
101
|
+
/*!
|
|
102
|
+
* Microsoft Dynamic Proto Utility, 1.1.6
|
|
103
|
+
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
104
|
+
*/
|
|
105
|
+
var Constructor = 'constructor';
|
|
106
|
+
var Prototype = 'prototype';
|
|
107
|
+
var strFunction = 'function';
|
|
108
|
+
var DynInstFuncTable = '_dynInstFuncs';
|
|
109
|
+
var DynProxyTag = '_isDynProxy';
|
|
110
|
+
var DynClassName = '_dynClass';
|
|
111
|
+
var DynClassNamePrefix = '_dynCls$';
|
|
112
|
+
var DynInstChkTag = '_dynInstChk';
|
|
113
|
+
var DynAllowInstChkTag = DynInstChkTag;
|
|
114
|
+
var DynProtoDefaultOptions = '_dfOpts';
|
|
115
|
+
var UnknownValue = '_unknown_';
|
|
116
|
+
var str__Proto$1 = "__proto__";
|
|
117
|
+
var DynProtoBaseProto = "_dyn" + str__Proto$1;
|
|
118
|
+
var DynProtoCurrent = "_dynInstProto";
|
|
119
|
+
var strUseBaseInst = 'useBaseInst';
|
|
120
|
+
var strSetInstFuncs = 'setInstFuncs';
|
|
121
|
+
var Obj = Object;
|
|
122
|
+
var _objGetPrototypeOf$1 = Obj["getPrototypeOf"];
|
|
123
|
+
var _objGetOwnProps = Obj["getOwnPropertyNames"];
|
|
124
|
+
var _dynamicNames = 0;
|
|
125
|
+
function _hasOwnProperty(obj, prop) {
|
|
126
|
+
return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
|
|
127
|
+
}
|
|
128
|
+
function _isObjectOrArrayPrototype(target) {
|
|
129
|
+
return target && (target === Obj[Prototype] || target === Array[Prototype]);
|
|
130
|
+
}
|
|
131
|
+
function _isObjectArrayOrFunctionPrototype(target) {
|
|
132
|
+
return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
|
|
133
|
+
}
|
|
134
|
+
function _getObjProto$1(target) {
|
|
135
|
+
var newProto;
|
|
136
|
+
if (target) {
|
|
137
|
+
if (_objGetPrototypeOf$1) {
|
|
138
|
+
return _objGetPrototypeOf$1(target);
|
|
139
|
+
}
|
|
140
|
+
var curProto = target[str__Proto$1] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
141
|
+
newProto = target[DynProtoBaseProto] || curProto;
|
|
142
|
+
if (!_hasOwnProperty(target, DynProtoBaseProto)) {
|
|
143
|
+
delete target[DynProtoCurrent];
|
|
144
|
+
newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
|
|
145
|
+
target[DynProtoCurrent] = curProto;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return newProto;
|
|
149
|
+
}
|
|
150
|
+
function _forEachProp(target, func) {
|
|
151
|
+
var props = [];
|
|
152
|
+
if (_objGetOwnProps) {
|
|
153
|
+
props = _objGetOwnProps(target);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
for (var name_1 in target) {
|
|
157
|
+
if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
|
|
158
|
+
props.push(name_1);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (props && props.length > 0) {
|
|
163
|
+
for (var lp = 0; lp < props.length; lp++) {
|
|
164
|
+
func(props[lp]);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function _isDynamicCandidate(target, funcName, skipOwn) {
|
|
169
|
+
return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
|
|
170
|
+
}
|
|
171
|
+
function _throwTypeError(message) {
|
|
172
|
+
throw new TypeError("DynamicProto: " + message);
|
|
173
|
+
}
|
|
174
|
+
function _getInstanceFuncs(thisTarget) {
|
|
175
|
+
var instFuncs = {};
|
|
176
|
+
_forEachProp(thisTarget, function (name) {
|
|
177
|
+
if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
|
|
178
|
+
instFuncs[name] = thisTarget[name];
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
return instFuncs;
|
|
182
|
+
}
|
|
183
|
+
function _hasVisited(values, value) {
|
|
184
|
+
for (var lp = values.length - 1; lp >= 0; lp--) {
|
|
185
|
+
if (values[lp] === value) {
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
|
|
192
|
+
function _instFuncProxy(target, funcHost, funcName) {
|
|
193
|
+
var theFunc = funcHost[funcName];
|
|
194
|
+
if (theFunc[DynProxyTag] && useBaseInst) {
|
|
195
|
+
var instFuncTable = target[DynInstFuncTable] || {};
|
|
196
|
+
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
197
|
+
theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return function () {
|
|
201
|
+
return theFunc.apply(target, arguments);
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
var baseFuncs = {};
|
|
205
|
+
_forEachProp(instFuncs, function (name) {
|
|
206
|
+
baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
|
|
207
|
+
});
|
|
208
|
+
var baseProto = _getObjProto$1(classProto);
|
|
209
|
+
var visited = [];
|
|
210
|
+
while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
|
|
211
|
+
_forEachProp(baseProto, function (name) {
|
|
212
|
+
if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf$1)) {
|
|
213
|
+
baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
visited.push(baseProto);
|
|
217
|
+
baseProto = _getObjProto$1(baseProto);
|
|
218
|
+
}
|
|
219
|
+
return baseFuncs;
|
|
220
|
+
}
|
|
221
|
+
function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
|
|
222
|
+
var instFunc = null;
|
|
223
|
+
if (target && _hasOwnProperty(proto, DynClassName)) {
|
|
224
|
+
var instFuncTable = target[DynInstFuncTable] || {};
|
|
225
|
+
instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
|
|
226
|
+
if (!instFunc) {
|
|
227
|
+
_throwTypeError("Missing [" + funcName + "] " + strFunction);
|
|
228
|
+
}
|
|
229
|
+
if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
|
|
230
|
+
var canAddInst = !_hasOwnProperty(target, funcName);
|
|
231
|
+
var objProto = _getObjProto$1(target);
|
|
232
|
+
var visited = [];
|
|
233
|
+
while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
|
|
234
|
+
var protoFunc = objProto[funcName];
|
|
235
|
+
if (protoFunc) {
|
|
236
|
+
canAddInst = (protoFunc === currentDynProtoProxy);
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
visited.push(objProto);
|
|
240
|
+
objProto = _getObjProto$1(objProto);
|
|
241
|
+
}
|
|
242
|
+
try {
|
|
243
|
+
if (canAddInst) {
|
|
244
|
+
target[funcName] = instFunc;
|
|
245
|
+
}
|
|
246
|
+
instFunc[DynInstChkTag] = 1;
|
|
247
|
+
}
|
|
248
|
+
catch (e) {
|
|
249
|
+
instFuncTable[DynAllowInstChkTag] = false;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return instFunc;
|
|
254
|
+
}
|
|
255
|
+
function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
|
|
256
|
+
var protoFunc = proto[funcName];
|
|
257
|
+
if (protoFunc === currentDynProtoProxy) {
|
|
258
|
+
protoFunc = _getObjProto$1(proto)[funcName];
|
|
259
|
+
}
|
|
260
|
+
if (typeof protoFunc !== strFunction) {
|
|
261
|
+
_throwTypeError("[" + funcName + "] is not a " + strFunction);
|
|
262
|
+
}
|
|
263
|
+
return protoFunc;
|
|
264
|
+
}
|
|
265
|
+
function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
|
|
266
|
+
function _createDynamicPrototype(proto, funcName) {
|
|
267
|
+
var dynProtoProxy = function () {
|
|
268
|
+
var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
|
|
269
|
+
return instFunc.apply(this, arguments);
|
|
270
|
+
};
|
|
271
|
+
dynProtoProxy[DynProxyTag] = 1;
|
|
272
|
+
return dynProtoProxy;
|
|
273
|
+
}
|
|
274
|
+
if (!_isObjectOrArrayPrototype(proto)) {
|
|
275
|
+
var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
|
|
276
|
+
var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
|
|
277
|
+
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
278
|
+
instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
|
|
279
|
+
}
|
|
280
|
+
_forEachProp(target, function (name) {
|
|
281
|
+
if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
|
|
282
|
+
instFuncs_1[name] = target[name];
|
|
283
|
+
delete target[name];
|
|
284
|
+
if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
|
|
285
|
+
proto[name] = _createDynamicPrototype(proto, name);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
function _checkPrototype(classProto, thisTarget) {
|
|
292
|
+
if (_objGetPrototypeOf$1) {
|
|
293
|
+
var visited = [];
|
|
294
|
+
var thisProto = _getObjProto$1(thisTarget);
|
|
295
|
+
while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
|
|
296
|
+
if (thisProto === classProto) {
|
|
297
|
+
return true;
|
|
298
|
+
}
|
|
299
|
+
visited.push(thisProto);
|
|
300
|
+
thisProto = _getObjProto$1(thisProto);
|
|
301
|
+
}
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
306
|
+
function _getObjName(target, unknownValue) {
|
|
307
|
+
if (_hasOwnProperty(target, Prototype)) {
|
|
308
|
+
return target.name || unknownValue || UnknownValue;
|
|
309
|
+
}
|
|
310
|
+
return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
|
|
311
|
+
}
|
|
312
|
+
function dynamicProto(theClass, target, delegateFunc, options) {
|
|
313
|
+
if (!_hasOwnProperty(theClass, Prototype)) {
|
|
314
|
+
_throwTypeError("theClass is an invalid class definition.");
|
|
315
|
+
}
|
|
316
|
+
var classProto = theClass[Prototype];
|
|
317
|
+
if (!_checkPrototype(classProto, target)) {
|
|
318
|
+
_throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
|
|
319
|
+
}
|
|
320
|
+
var className = null;
|
|
321
|
+
if (_hasOwnProperty(classProto, DynClassName)) {
|
|
322
|
+
className = classProto[DynClassName];
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _dynamicNames;
|
|
326
|
+
_dynamicNames++;
|
|
327
|
+
classProto[DynClassName] = className;
|
|
328
|
+
}
|
|
329
|
+
var perfOptions = dynamicProto[DynProtoDefaultOptions];
|
|
330
|
+
var useBaseInst = !!perfOptions[strUseBaseInst];
|
|
331
|
+
if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
|
|
332
|
+
useBaseInst = !!options[strUseBaseInst];
|
|
333
|
+
}
|
|
334
|
+
var instFuncs = _getInstanceFuncs(target);
|
|
335
|
+
var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
|
|
336
|
+
delegateFunc(target, baseFuncs);
|
|
337
|
+
var setInstanceFunc = !!_objGetPrototypeOf$1 && !!perfOptions[strSetInstFuncs];
|
|
338
|
+
if (setInstanceFunc && options) {
|
|
339
|
+
setInstanceFunc = !!options[strSetInstFuncs];
|
|
340
|
+
}
|
|
341
|
+
_populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
|
|
342
|
+
}
|
|
343
|
+
var perfDefaults = {
|
|
344
|
+
setInstFuncs: true,
|
|
345
|
+
useBaseInst: true
|
|
346
|
+
};
|
|
347
|
+
dynamicProto[DynProtoDefaultOptions] = perfDefaults;
|
|
348
|
+
|
|
349
|
+
var _DYN_INITIALIZE = "initialize";
|
|
350
|
+
var _DYN_NAME$2 = "name";
|
|
351
|
+
var _DYN_IDENTIFIER = "identifier";
|
|
352
|
+
var _DYN_PUSH = "push";
|
|
353
|
+
var _DYN_IS_INITIALIZED = "isInitialized";
|
|
354
|
+
var _DYN_CONFIG = "config";
|
|
355
|
+
var _DYN_LOGGER = "logger";
|
|
356
|
+
var _DYN_LENGTH$2 = "length";
|
|
357
|
+
var _DYN_TIME = "time";
|
|
358
|
+
var _DYN_PROCESS_NEXT = "processNext";
|
|
359
|
+
var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
|
|
360
|
+
var _DYN_GET_PLUGIN = "getPlugin";
|
|
361
|
+
var _DYN_SPLICE = "splice";
|
|
362
|
+
var _DYN_TEARDOWN = "teardown";
|
|
363
|
+
var _DYN_MESSAGE_ID = "messageId";
|
|
364
|
+
var _DYN_MESSAGE = "message";
|
|
365
|
+
var _DYN_IS_ASYNC = "isAsync";
|
|
366
|
+
var _DYN__DO_TEARDOWN = "_doTeardown";
|
|
367
|
+
var _DYN_UPDATE = "update";
|
|
368
|
+
var _DYN_GET_NEXT = "getNext";
|
|
369
|
+
var _DYN_DIAG_LOG = "diagLog";
|
|
370
|
+
var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
|
|
371
|
+
var _DYN_CREATE_NEW = "createNew";
|
|
372
|
+
var _DYN_INDEX_OF$1 = "indexOf";
|
|
373
|
+
var _DYN_USER_AGENT = "userAgent";
|
|
374
|
+
var _DYN_SPLIT$1 = "split";
|
|
375
|
+
var _DYN_REPLACE = "replace";
|
|
376
|
+
var _DYN_SUBSTR = "substr";
|
|
377
|
+
var _DYN_NODE_TYPE = "nodeType";
|
|
378
|
+
var _DYN_APPLY = "apply";
|
|
379
|
+
var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
|
|
380
|
+
var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
|
|
381
|
+
var _DYN_TO_LOWER_CASE$2 = "toLowerCase";
|
|
382
|
+
var _DYN_CALL = "call";
|
|
383
|
+
var _DYN_TYPE = "type";
|
|
384
|
+
var _DYN_HANDLER = "handler";
|
|
385
|
+
var _DYN_IS_CHILD_EVT = "isChildEvt";
|
|
386
|
+
var _DYN_GET_CTX = "getCtx";
|
|
387
|
+
var _DYN_SET_CTX = "setCtx";
|
|
388
|
+
var _DYN_COMPLETE = "complete";
|
|
389
|
+
var _DYN_TRACE_ID$1 = "traceId";
|
|
390
|
+
var _DYN_TRACE_FLAGS$1 = "traceFlags";
|
|
391
|
+
var _DYN_VERSION = "version";
|
|
392
|
+
|
|
393
|
+
var STR_EMPTY = "";
|
|
394
|
+
var STR_CORE = "core";
|
|
395
|
+
var STR_DISABLED = "disabled";
|
|
396
|
+
var STR_EXTENSION_CONFIG = "extensionConfig";
|
|
397
|
+
var STR_PROCESS_TELEMETRY = "processTelemetry";
|
|
398
|
+
var STR_PRIORITY = "priority";
|
|
399
|
+
var STR_ERROR_TO_CONSOLE = "errorToConsole";
|
|
400
|
+
var STR_WARN_TO_CONSOLE = "warnToConsole";
|
|
401
|
+
var STR_GET_PERF_MGR = "getPerfMgr";
|
|
109
402
|
|
|
110
403
|
var strToISOString = "toISOString";
|
|
111
404
|
var cStrEndsWith = "endsWith";
|
|
@@ -113,7 +406,7 @@
|
|
|
113
406
|
var strIndexOf = "indexOf";
|
|
114
407
|
var cStrTrim = "trim";
|
|
115
408
|
var strToString = "toString";
|
|
116
|
-
var str__Proto
|
|
409
|
+
var str__Proto = "__proto__";
|
|
117
410
|
var strConstructor = "constructor";
|
|
118
411
|
var _objDefineProperty$1 = ObjDefineProperty;
|
|
119
412
|
var _objFreeze = ObjClass.freeze;
|
|
@@ -128,17 +421,17 @@
|
|
|
128
421
|
var _isArray = Array.isArray;
|
|
129
422
|
var _objToString = ObjProto[strToString];
|
|
130
423
|
var _fnToString = ObjHasOwnProperty[strToString];
|
|
131
|
-
var _objFunctionString = _fnToString
|
|
424
|
+
var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
|
|
132
425
|
var rCamelCase = /-([a-z])/g;
|
|
133
426
|
var rNormalizeInvalid = /([^\w\d_$])/g;
|
|
134
427
|
var rLeadingNumeric = /^(\d+[\w\d_$])/;
|
|
135
|
-
var _objGetPrototypeOf
|
|
136
|
-
function _getObjProto
|
|
428
|
+
var _objGetPrototypeOf = Object["getPrototypeOf"];
|
|
429
|
+
function _getObjProto(target) {
|
|
137
430
|
if (target) {
|
|
138
|
-
if (_objGetPrototypeOf
|
|
139
|
-
return _objGetPrototypeOf
|
|
431
|
+
if (_objGetPrototypeOf) {
|
|
432
|
+
return _objGetPrototypeOf(target);
|
|
140
433
|
}
|
|
141
|
-
var newProto = target[str__Proto
|
|
434
|
+
var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];
|
|
142
435
|
if (newProto) {
|
|
143
436
|
return newProto;
|
|
144
437
|
}
|
|
@@ -152,7 +445,7 @@
|
|
|
152
445
|
return (value === null || isUndefined(value));
|
|
153
446
|
}
|
|
154
447
|
function hasOwnProperty(obj, prop) {
|
|
155
|
-
return !!(obj && ObjHasOwnProperty
|
|
448
|
+
return !!(obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop));
|
|
156
449
|
}
|
|
157
450
|
function isObject(value) {
|
|
158
451
|
return !!(value && typeof value === strShimObject);
|
|
@@ -163,11 +456,11 @@
|
|
|
163
456
|
function normalizeJsName(name) {
|
|
164
457
|
var value = name;
|
|
165
458
|
if (value && isString(value)) {
|
|
166
|
-
value = value
|
|
459
|
+
value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
|
|
167
460
|
return letter.toUpperCase();
|
|
168
461
|
});
|
|
169
|
-
value = value
|
|
170
|
-
value = value
|
|
462
|
+
value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
|
|
463
|
+
value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
|
|
171
464
|
return "_" + match;
|
|
172
465
|
});
|
|
173
466
|
}
|
|
@@ -176,24 +469,24 @@
|
|
|
176
469
|
function objForEachKey(target, callbackfn) {
|
|
177
470
|
if (target) {
|
|
178
471
|
for (var prop in target) {
|
|
179
|
-
if (ObjHasOwnProperty
|
|
180
|
-
callbackfn
|
|
472
|
+
if (ObjHasOwnProperty[_DYN_CALL ](target, prop)) {
|
|
473
|
+
callbackfn[_DYN_CALL ](target, prop, target[prop]);
|
|
181
474
|
}
|
|
182
475
|
}
|
|
183
476
|
}
|
|
184
477
|
}
|
|
185
478
|
function strContains(value, search) {
|
|
186
479
|
if (value && search) {
|
|
187
|
-
return value
|
|
480
|
+
return value[_DYN_INDEX_OF$1 ](search) !== -1;
|
|
188
481
|
}
|
|
189
482
|
return false;
|
|
190
483
|
}
|
|
191
484
|
var isArray = _isArray || _isArrayPoly;
|
|
192
485
|
function _isArrayPoly(obj) {
|
|
193
|
-
return !!(obj && _objToString
|
|
486
|
+
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
|
|
194
487
|
}
|
|
195
488
|
function isError(obj) {
|
|
196
|
-
return !!(obj && _objToString
|
|
489
|
+
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Error]");
|
|
197
490
|
}
|
|
198
491
|
function isString(value) {
|
|
199
492
|
return typeof value === "string";
|
|
@@ -207,15 +500,15 @@
|
|
|
207
500
|
function isPlainObject(value) {
|
|
208
501
|
var result = false;
|
|
209
502
|
if (value && typeof value === "object") {
|
|
210
|
-
var proto = _objGetPrototypeOf
|
|
503
|
+
var proto = _objGetPrototypeOf ? _objGetPrototypeOf(value) : _getObjProto(value);
|
|
211
504
|
if (!proto) {
|
|
212
505
|
result = true;
|
|
213
506
|
}
|
|
214
507
|
else {
|
|
215
|
-
if (proto[strConstructor] && ObjHasOwnProperty
|
|
508
|
+
if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
|
|
216
509
|
proto = proto[strConstructor];
|
|
217
510
|
}
|
|
218
|
-
result = typeof proto === strShimFunction && _fnToString
|
|
511
|
+
result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
|
|
219
512
|
}
|
|
220
513
|
}
|
|
221
514
|
return result;
|
|
@@ -229,7 +522,7 @@
|
|
|
229
522
|
if (date && date.getUTCFullYear) {
|
|
230
523
|
var pad = function (num) {
|
|
231
524
|
var r = String(num);
|
|
232
|
-
if (r
|
|
525
|
+
if (r[_DYN_LENGTH$2 ] === 1) {
|
|
233
526
|
r = "0" + r;
|
|
234
527
|
}
|
|
235
528
|
return r;
|
|
@@ -245,11 +538,11 @@
|
|
|
245
538
|
}
|
|
246
539
|
}
|
|
247
540
|
function arrForEach(arr, callbackfn, thisArg) {
|
|
248
|
-
var len = arr
|
|
541
|
+
var len = arr[_DYN_LENGTH$2 ];
|
|
249
542
|
try {
|
|
250
543
|
for (var idx = 0; idx < len; idx++) {
|
|
251
544
|
if (idx in arr) {
|
|
252
|
-
if (callbackfn
|
|
545
|
+
if (callbackfn[_DYN_CALL ](thisArg || arr, arr[idx], idx, arr) === -1) {
|
|
253
546
|
break;
|
|
254
547
|
}
|
|
255
548
|
}
|
|
@@ -263,7 +556,7 @@
|
|
|
263
556
|
if (arr[strIndexOf]) {
|
|
264
557
|
return arr[strIndexOf](searchElement, fromIndex);
|
|
265
558
|
}
|
|
266
|
-
var len = arr
|
|
559
|
+
var len = arr[_DYN_LENGTH$2 ];
|
|
267
560
|
var from = fromIndex || 0;
|
|
268
561
|
try {
|
|
269
562
|
for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
|
|
@@ -279,7 +572,7 @@
|
|
|
279
572
|
}
|
|
280
573
|
function strTrim(str) {
|
|
281
574
|
if (str) {
|
|
282
|
-
str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str
|
|
575
|
+
str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE ] ? str[_DYN_REPLACE ](/^\s+|\s+$/g, STR_EMPTY) : str);
|
|
283
576
|
}
|
|
284
577
|
return str;
|
|
285
578
|
}
|
|
@@ -303,15 +596,15 @@
|
|
|
303
596
|
}
|
|
304
597
|
var result = [];
|
|
305
598
|
for (var prop in obj) {
|
|
306
|
-
if (obj && ObjHasOwnProperty
|
|
307
|
-
result
|
|
599
|
+
if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop)) {
|
|
600
|
+
result[_DYN_PUSH ](prop);
|
|
308
601
|
}
|
|
309
602
|
}
|
|
310
603
|
if (_objKeysHasDontEnumBug) {
|
|
311
|
-
var dontEnumsLength = _objKeysDontEnums
|
|
604
|
+
var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH$2 ];
|
|
312
605
|
for (var lp = 0; lp < dontEnumsLength; lp++) {
|
|
313
|
-
if (obj && ObjHasOwnProperty
|
|
314
|
-
result
|
|
606
|
+
if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, _objKeysDontEnums[lp])) {
|
|
607
|
+
result[_DYN_PUSH ](_objKeysDontEnums[lp]);
|
|
315
608
|
}
|
|
316
609
|
}
|
|
317
610
|
}
|
|
@@ -327,382 +620,137 @@
|
|
|
327
620
|
if (getProp) {
|
|
328
621
|
descriptor.get = getProp;
|
|
329
622
|
}
|
|
330
|
-
if (setProp) {
|
|
331
|
-
descriptor.set = setProp;
|
|
332
|
-
}
|
|
333
|
-
_objDefineProperty$1(target, prop, descriptor);
|
|
334
|
-
return true;
|
|
335
|
-
}
|
|
336
|
-
catch (e) {
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
return false;
|
|
340
|
-
}
|
|
341
|
-
function _doNothing(value) {
|
|
342
|
-
return value;
|
|
343
|
-
}
|
|
344
|
-
function deepFreeze(obj) {
|
|
345
|
-
if (_objFreeze) {
|
|
346
|
-
objForEachKey(obj, function (name, value) {
|
|
347
|
-
if (isArray(value) || isObject(value)) {
|
|
348
|
-
_objFreeze(value);
|
|
349
|
-
}
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
return objFreeze(obj);
|
|
353
|
-
}
|
|
354
|
-
var objFreeze = _objFreeze || _doNothing;
|
|
355
|
-
function dateNow() {
|
|
356
|
-
var dt = Date;
|
|
357
|
-
return dt.now ? dt.now() : new dt().getTime();
|
|
358
|
-
}
|
|
359
|
-
function getExceptionName(object) {
|
|
360
|
-
if (isError(object)) {
|
|
361
|
-
return object.name;
|
|
362
|
-
}
|
|
363
|
-
return strEmpty$1;
|
|
364
|
-
}
|
|
365
|
-
function setValue(target, field, value, valChk, srcChk) {
|
|
366
|
-
var theValue = value;
|
|
367
|
-
if (target) {
|
|
368
|
-
theValue = target[field];
|
|
369
|
-
if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
|
|
370
|
-
theValue = value;
|
|
371
|
-
target[field] = theValue;
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
return theValue;
|
|
375
|
-
}
|
|
376
|
-
function throwError(message) {
|
|
377
|
-
throw new Error(message);
|
|
378
|
-
}
|
|
379
|
-
function _createProxyFunction(source, funcName) {
|
|
380
|
-
var srcFunc = null;
|
|
381
|
-
var src = null;
|
|
382
|
-
if (isFunction(source)) {
|
|
383
|
-
srcFunc = source;
|
|
384
|
-
}
|
|
385
|
-
else {
|
|
386
|
-
src = source;
|
|
387
|
-
}
|
|
388
|
-
return function () {
|
|
389
|
-
var originalArguments = arguments;
|
|
390
|
-
if (srcFunc) {
|
|
391
|
-
src = srcFunc();
|
|
392
|
-
}
|
|
393
|
-
if (src) {
|
|
394
|
-
return src[funcName].apply(src, originalArguments);
|
|
395
|
-
}
|
|
396
|
-
};
|
|
397
|
-
}
|
|
398
|
-
function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
|
|
399
|
-
if (target && name && source) {
|
|
400
|
-
if (overwriteTarget !== false || isUndefined(target[name])) {
|
|
401
|
-
target[name] = _createProxyFunction(source, theFunc);
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
|
|
406
|
-
var theArgs = arguments;
|
|
407
|
-
var extended = theArgs[0] || {};
|
|
408
|
-
var argLen = theArgs.length;
|
|
409
|
-
var deep = false;
|
|
410
|
-
var idx = 1;
|
|
411
|
-
if (argLen > 0 && isBoolean(extended)) {
|
|
412
|
-
deep = extended;
|
|
413
|
-
extended = theArgs[idx] || {};
|
|
414
|
-
idx++;
|
|
415
|
-
}
|
|
416
|
-
if (!isObject(extended)) {
|
|
417
|
-
extended = {};
|
|
418
|
-
}
|
|
419
|
-
for (; idx < argLen; idx++) {
|
|
420
|
-
var arg = theArgs[idx];
|
|
421
|
-
var isArgArray = isArray(arg);
|
|
422
|
-
var isArgObj = isObject(arg);
|
|
423
|
-
for (var prop in arg) {
|
|
424
|
-
var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty.call(arg, prop)));
|
|
425
|
-
if (!propOk) {
|
|
426
|
-
continue;
|
|
427
|
-
}
|
|
428
|
-
var newValue = arg[prop];
|
|
429
|
-
var isNewArray = void 0;
|
|
430
|
-
if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
|
|
431
|
-
var clone = extended[prop];
|
|
432
|
-
if (isNewArray) {
|
|
433
|
-
if (!isArray(clone)) {
|
|
434
|
-
clone = [];
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
else if (!isPlainObject(clone)) {
|
|
438
|
-
clone = {};
|
|
439
|
-
}
|
|
440
|
-
newValue = objExtend(deep, clone, newValue);
|
|
441
|
-
}
|
|
442
|
-
if (newValue !== undefined) {
|
|
443
|
-
extended[prop] = newValue;
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
return extended;
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
function createValueMap(values) {
|
|
451
|
-
var mapClass = {};
|
|
452
|
-
objForEachKey(values, function (field, value) {
|
|
453
|
-
mapClass[field] = value[1];
|
|
454
|
-
mapClass[value[0]] = value[1];
|
|
455
|
-
});
|
|
456
|
-
return deepFreeze(mapClass);
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
/*!
|
|
460
|
-
* Microsoft Dynamic Proto Utility, 1.1.6
|
|
461
|
-
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
462
|
-
*/
|
|
463
|
-
var Constructor = 'constructor';
|
|
464
|
-
var Prototype = 'prototype';
|
|
465
|
-
var strFunction = 'function';
|
|
466
|
-
var DynInstFuncTable = '_dynInstFuncs';
|
|
467
|
-
var DynProxyTag = '_isDynProxy';
|
|
468
|
-
var DynClassName = '_dynClass';
|
|
469
|
-
var DynClassNamePrefix = '_dynCls$';
|
|
470
|
-
var DynInstChkTag = '_dynInstChk';
|
|
471
|
-
var DynAllowInstChkTag = DynInstChkTag;
|
|
472
|
-
var DynProtoDefaultOptions = '_dfOpts';
|
|
473
|
-
var UnknownValue = '_unknown_';
|
|
474
|
-
var str__Proto = "__proto__";
|
|
475
|
-
var DynProtoBaseProto = "_dyn" + str__Proto;
|
|
476
|
-
var DynProtoCurrent = "_dynInstProto";
|
|
477
|
-
var strUseBaseInst = 'useBaseInst';
|
|
478
|
-
var strSetInstFuncs = 'setInstFuncs';
|
|
479
|
-
var Obj = Object;
|
|
480
|
-
var _objGetPrototypeOf = Obj["getPrototypeOf"];
|
|
481
|
-
var _objGetOwnProps = Obj["getOwnPropertyNames"];
|
|
482
|
-
var _dynamicNames = 0;
|
|
483
|
-
function _hasOwnProperty(obj, prop) {
|
|
484
|
-
return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
|
|
485
|
-
}
|
|
486
|
-
function _isObjectOrArrayPrototype(target) {
|
|
487
|
-
return target && (target === Obj[Prototype] || target === Array[Prototype]);
|
|
488
|
-
}
|
|
489
|
-
function _isObjectArrayOrFunctionPrototype(target) {
|
|
490
|
-
return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
|
|
491
|
-
}
|
|
492
|
-
function _getObjProto(target) {
|
|
493
|
-
var newProto;
|
|
494
|
-
if (target) {
|
|
495
|
-
if (_objGetPrototypeOf) {
|
|
496
|
-
return _objGetPrototypeOf(target);
|
|
497
|
-
}
|
|
498
|
-
var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
499
|
-
newProto = target[DynProtoBaseProto] || curProto;
|
|
500
|
-
if (!_hasOwnProperty(target, DynProtoBaseProto)) {
|
|
501
|
-
delete target[DynProtoCurrent];
|
|
502
|
-
newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
|
|
503
|
-
target[DynProtoCurrent] = curProto;
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
return newProto;
|
|
507
|
-
}
|
|
508
|
-
function _forEachProp(target, func) {
|
|
509
|
-
var props = [];
|
|
510
|
-
if (_objGetOwnProps) {
|
|
511
|
-
props = _objGetOwnProps(target);
|
|
512
|
-
}
|
|
513
|
-
else {
|
|
514
|
-
for (var name_1 in target) {
|
|
515
|
-
if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
|
|
516
|
-
props.push(name_1);
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
}
|
|
520
|
-
if (props && props.length > 0) {
|
|
521
|
-
for (var lp = 0; lp < props.length; lp++) {
|
|
522
|
-
func(props[lp]);
|
|
523
|
-
}
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
function _isDynamicCandidate(target, funcName, skipOwn) {
|
|
527
|
-
return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
|
|
528
|
-
}
|
|
529
|
-
function _throwTypeError(message) {
|
|
530
|
-
throw new TypeError("DynamicProto: " + message);
|
|
531
|
-
}
|
|
532
|
-
function _getInstanceFuncs(thisTarget) {
|
|
533
|
-
var instFuncs = {};
|
|
534
|
-
_forEachProp(thisTarget, function (name) {
|
|
535
|
-
if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
|
|
536
|
-
instFuncs[name] = thisTarget[name];
|
|
537
|
-
}
|
|
538
|
-
});
|
|
539
|
-
return instFuncs;
|
|
540
|
-
}
|
|
541
|
-
function _hasVisited(values, value) {
|
|
542
|
-
for (var lp = values.length - 1; lp >= 0; lp--) {
|
|
543
|
-
if (values[lp] === value) {
|
|
544
|
-
return true;
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
return false;
|
|
548
|
-
}
|
|
549
|
-
function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
|
|
550
|
-
function _instFuncProxy(target, funcHost, funcName) {
|
|
551
|
-
var theFunc = funcHost[funcName];
|
|
552
|
-
if (theFunc[DynProxyTag] && useBaseInst) {
|
|
553
|
-
var instFuncTable = target[DynInstFuncTable] || {};
|
|
554
|
-
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
555
|
-
theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
|
|
556
|
-
}
|
|
557
|
-
}
|
|
558
|
-
return function () {
|
|
559
|
-
return theFunc.apply(target, arguments);
|
|
560
|
-
};
|
|
561
|
-
}
|
|
562
|
-
var baseFuncs = {};
|
|
563
|
-
_forEachProp(instFuncs, function (name) {
|
|
564
|
-
baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
|
|
565
|
-
});
|
|
566
|
-
var baseProto = _getObjProto(classProto);
|
|
567
|
-
var visited = [];
|
|
568
|
-
while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
|
|
569
|
-
_forEachProp(baseProto, function (name) {
|
|
570
|
-
if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
|
|
571
|
-
baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
|
|
572
|
-
}
|
|
573
|
-
});
|
|
574
|
-
visited.push(baseProto);
|
|
575
|
-
baseProto = _getObjProto(baseProto);
|
|
576
|
-
}
|
|
577
|
-
return baseFuncs;
|
|
578
|
-
}
|
|
579
|
-
function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
|
|
580
|
-
var instFunc = null;
|
|
581
|
-
if (target && _hasOwnProperty(proto, DynClassName)) {
|
|
582
|
-
var instFuncTable = target[DynInstFuncTable] || {};
|
|
583
|
-
instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
|
|
584
|
-
if (!instFunc) {
|
|
585
|
-
_throwTypeError("Missing [" + funcName + "] " + strFunction);
|
|
586
|
-
}
|
|
587
|
-
if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
|
|
588
|
-
var canAddInst = !_hasOwnProperty(target, funcName);
|
|
589
|
-
var objProto = _getObjProto(target);
|
|
590
|
-
var visited = [];
|
|
591
|
-
while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
|
|
592
|
-
var protoFunc = objProto[funcName];
|
|
593
|
-
if (protoFunc) {
|
|
594
|
-
canAddInst = (protoFunc === currentDynProtoProxy);
|
|
595
|
-
break;
|
|
596
|
-
}
|
|
597
|
-
visited.push(objProto);
|
|
598
|
-
objProto = _getObjProto(objProto);
|
|
599
|
-
}
|
|
600
|
-
try {
|
|
601
|
-
if (canAddInst) {
|
|
602
|
-
target[funcName] = instFunc;
|
|
603
|
-
}
|
|
604
|
-
instFunc[DynInstChkTag] = 1;
|
|
605
|
-
}
|
|
606
|
-
catch (e) {
|
|
607
|
-
instFuncTable[DynAllowInstChkTag] = false;
|
|
623
|
+
if (setProp) {
|
|
624
|
+
descriptor.set = setProp;
|
|
608
625
|
}
|
|
626
|
+
_objDefineProperty$1(target, prop, descriptor);
|
|
627
|
+
return true;
|
|
628
|
+
}
|
|
629
|
+
catch (e) {
|
|
609
630
|
}
|
|
610
631
|
}
|
|
611
|
-
return
|
|
632
|
+
return false;
|
|
612
633
|
}
|
|
613
|
-
function
|
|
614
|
-
|
|
615
|
-
if (protoFunc === currentDynProtoProxy) {
|
|
616
|
-
protoFunc = _getObjProto(proto)[funcName];
|
|
617
|
-
}
|
|
618
|
-
if (typeof protoFunc !== strFunction) {
|
|
619
|
-
_throwTypeError("[" + funcName + "] is not a " + strFunction);
|
|
620
|
-
}
|
|
621
|
-
return protoFunc;
|
|
634
|
+
function _doNothing(value) {
|
|
635
|
+
return value;
|
|
622
636
|
}
|
|
623
|
-
function
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
};
|
|
629
|
-
dynProtoProxy[DynProxyTag] = 1;
|
|
630
|
-
return dynProtoProxy;
|
|
631
|
-
}
|
|
632
|
-
if (!_isObjectOrArrayPrototype(proto)) {
|
|
633
|
-
var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
|
|
634
|
-
var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
|
|
635
|
-
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
636
|
-
instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
|
|
637
|
-
}
|
|
638
|
-
_forEachProp(target, function (name) {
|
|
639
|
-
if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
|
|
640
|
-
instFuncs_1[name] = target[name];
|
|
641
|
-
delete target[name];
|
|
642
|
-
if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
|
|
643
|
-
proto[name] = _createDynamicPrototype(proto, name);
|
|
644
|
-
}
|
|
637
|
+
function deepFreeze(obj) {
|
|
638
|
+
if (_objFreeze) {
|
|
639
|
+
objForEachKey(obj, function (name, value) {
|
|
640
|
+
if (isArray(value) || isObject(value)) {
|
|
641
|
+
_objFreeze(value);
|
|
645
642
|
}
|
|
646
643
|
});
|
|
647
644
|
}
|
|
645
|
+
return objFreeze(obj);
|
|
648
646
|
}
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
visited.push(thisProto);
|
|
658
|
-
thisProto = _getObjProto(thisProto);
|
|
659
|
-
}
|
|
660
|
-
return false;
|
|
647
|
+
var objFreeze = _objFreeze || _doNothing;
|
|
648
|
+
function dateNow() {
|
|
649
|
+
var dt = Date;
|
|
650
|
+
return dt.now ? dt.now() : new dt().getTime();
|
|
651
|
+
}
|
|
652
|
+
function getExceptionName(object) {
|
|
653
|
+
if (isError(object)) {
|
|
654
|
+
return object[_DYN_NAME$2 ];
|
|
661
655
|
}
|
|
662
|
-
return
|
|
656
|
+
return STR_EMPTY;
|
|
663
657
|
}
|
|
664
|
-
function
|
|
665
|
-
|
|
666
|
-
|
|
658
|
+
function setValue(target, field, value, valChk, srcChk) {
|
|
659
|
+
var theValue = value;
|
|
660
|
+
if (target) {
|
|
661
|
+
theValue = target[field];
|
|
662
|
+
if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
|
|
663
|
+
theValue = value;
|
|
664
|
+
target[field] = theValue;
|
|
665
|
+
}
|
|
667
666
|
}
|
|
668
|
-
return
|
|
667
|
+
return theValue;
|
|
669
668
|
}
|
|
670
|
-
function
|
|
671
|
-
|
|
672
|
-
|
|
669
|
+
function getCfgValue(theValue, defaultValue) {
|
|
670
|
+
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
671
|
+
}
|
|
672
|
+
function throwError(message) {
|
|
673
|
+
throw new Error(message);
|
|
674
|
+
}
|
|
675
|
+
function _createProxyFunction(source, funcName) {
|
|
676
|
+
var srcFunc = null;
|
|
677
|
+
var src = null;
|
|
678
|
+
if (isFunction(source)) {
|
|
679
|
+
srcFunc = source;
|
|
673
680
|
}
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
_throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
|
|
681
|
+
else {
|
|
682
|
+
src = source;
|
|
677
683
|
}
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
684
|
+
return function () {
|
|
685
|
+
var originalArguments = arguments;
|
|
686
|
+
if (srcFunc) {
|
|
687
|
+
src = srcFunc();
|
|
688
|
+
}
|
|
689
|
+
if (src) {
|
|
690
|
+
return src[funcName][_DYN_APPLY ](src, originalArguments);
|
|
691
|
+
}
|
|
692
|
+
};
|
|
693
|
+
}
|
|
694
|
+
function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
|
|
695
|
+
if (target && name && source) {
|
|
696
|
+
if (overwriteTarget !== false || isUndefined(target[name])) {
|
|
697
|
+
target[name] = _createProxyFunction(source, theFunc);
|
|
698
|
+
}
|
|
681
699
|
}
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
700
|
+
}
|
|
701
|
+
function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
|
|
702
|
+
var theArgs = arguments;
|
|
703
|
+
var extended = theArgs[0] || {};
|
|
704
|
+
var argLen = theArgs[_DYN_LENGTH$2 ];
|
|
705
|
+
var deep = false;
|
|
706
|
+
var idx = 1;
|
|
707
|
+
if (argLen > 0 && isBoolean(extended)) {
|
|
708
|
+
deep = extended;
|
|
709
|
+
extended = theArgs[idx] || {};
|
|
710
|
+
idx++;
|
|
686
711
|
}
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
|
|
690
|
-
useBaseInst = !!options[strUseBaseInst];
|
|
712
|
+
if (!isObject(extended)) {
|
|
713
|
+
extended = {};
|
|
691
714
|
}
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
715
|
+
for (; idx < argLen; idx++) {
|
|
716
|
+
var arg = theArgs[idx];
|
|
717
|
+
var isArgArray = isArray(arg);
|
|
718
|
+
var isArgObj = isObject(arg);
|
|
719
|
+
for (var prop in arg) {
|
|
720
|
+
var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
|
|
721
|
+
if (!propOk) {
|
|
722
|
+
continue;
|
|
723
|
+
}
|
|
724
|
+
var newValue = arg[prop];
|
|
725
|
+
var isNewArray = void 0;
|
|
726
|
+
if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
|
|
727
|
+
var clone = extended[prop];
|
|
728
|
+
if (isNewArray) {
|
|
729
|
+
if (!isArray(clone)) {
|
|
730
|
+
clone = [];
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
else if (!isPlainObject(clone)) {
|
|
734
|
+
clone = {};
|
|
735
|
+
}
|
|
736
|
+
newValue = objExtend(deep, clone, newValue);
|
|
737
|
+
}
|
|
738
|
+
if (newValue !== undefined) {
|
|
739
|
+
extended[prop] = newValue;
|
|
740
|
+
}
|
|
741
|
+
}
|
|
698
742
|
}
|
|
699
|
-
|
|
743
|
+
return extended;
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
function createValueMap(values) {
|
|
747
|
+
var mapClass = {};
|
|
748
|
+
objForEachKey(values, function (field, value) {
|
|
749
|
+
mapClass[field] = value[1];
|
|
750
|
+
mapClass[value[0]] = value[1];
|
|
751
|
+
});
|
|
752
|
+
return deepFreeze(mapClass);
|
|
700
753
|
}
|
|
701
|
-
var perfDefaults = {
|
|
702
|
-
setInstFuncs: true,
|
|
703
|
-
useBaseInst: true
|
|
704
|
-
};
|
|
705
|
-
dynamicProto[DynProtoDefaultOptions] = perfDefaults;
|
|
706
754
|
|
|
707
755
|
var strWindow = "window";
|
|
708
756
|
var strDocument = "document";
|
|
@@ -789,9 +837,9 @@
|
|
|
789
837
|
}
|
|
790
838
|
function isIE() {
|
|
791
839
|
var nav = getNavigator();
|
|
792
|
-
if (nav && (nav
|
|
793
|
-
_navUserAgentCheck = nav
|
|
794
|
-
var userAgent = (_navUserAgentCheck ||
|
|
840
|
+
if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
|
|
841
|
+
_navUserAgentCheck = nav[_DYN_USER_AGENT ];
|
|
842
|
+
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$2 ]();
|
|
795
843
|
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
796
844
|
}
|
|
797
845
|
return _isTrident;
|
|
@@ -800,15 +848,15 @@
|
|
|
800
848
|
if (userAgentStr === void 0) { userAgentStr = null; }
|
|
801
849
|
if (!userAgentStr) {
|
|
802
850
|
var navigator_1 = getNavigator() || {};
|
|
803
|
-
userAgentStr = navigator_1 ? (navigator_1
|
|
851
|
+
userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE$2 ]() : STR_EMPTY;
|
|
804
852
|
}
|
|
805
|
-
var ua = (userAgentStr ||
|
|
853
|
+
var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$2 ]();
|
|
806
854
|
if (strContains(ua, strMsie)) {
|
|
807
855
|
var doc = getDocument() || {};
|
|
808
|
-
return Math.max(parseInt(ua
|
|
856
|
+
return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
|
|
809
857
|
}
|
|
810
858
|
else if (strContains(ua, strTrident)) {
|
|
811
|
-
var tridentVer = parseInt(ua
|
|
859
|
+
var tridentVer = parseInt(ua[_DYN_SPLIT$1 ](strTrident)[1]);
|
|
812
860
|
if (tridentVer) {
|
|
813
861
|
return tridentVer + 4;
|
|
814
862
|
}
|
|
@@ -816,10 +864,10 @@
|
|
|
816
864
|
return null;
|
|
817
865
|
}
|
|
818
866
|
function dumpObj(object) {
|
|
819
|
-
var objectTypeDump = Object[strShimPrototype].toString
|
|
820
|
-
var propertyValueDump =
|
|
867
|
+
var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL ](object);
|
|
868
|
+
var propertyValueDump = STR_EMPTY;
|
|
821
869
|
if (objectTypeDump === "[object Error]") {
|
|
822
|
-
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object
|
|
870
|
+
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME$2 ] + "'";
|
|
823
871
|
}
|
|
824
872
|
else if (hasJSON()) {
|
|
825
873
|
propertyValueDump = getJSON().stringify(object);
|
|
@@ -856,13 +904,11 @@
|
|
|
856
904
|
var AiNonUserActionablePrefix = "AI (Internal): ";
|
|
857
905
|
var AiUserActionablePrefix = "AI: ";
|
|
858
906
|
var AIInternalMessagePrefix = "AITR_";
|
|
859
|
-
var strErrorToConsole = "errorToConsole";
|
|
860
|
-
var strWarnToConsole = "warnToConsole";
|
|
861
907
|
function _sanitizeDiagnosticText(text) {
|
|
862
908
|
if (text) {
|
|
863
|
-
return "\"" + text
|
|
909
|
+
return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
|
|
864
910
|
}
|
|
865
|
-
return
|
|
911
|
+
return STR_EMPTY;
|
|
866
912
|
}
|
|
867
913
|
function _logToConsole(func, message) {
|
|
868
914
|
var theConsole = getConsole();
|
|
@@ -880,23 +926,23 @@
|
|
|
880
926
|
function _InternalLogMessage(msgId, msg, isUserAct, properties) {
|
|
881
927
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
882
928
|
var _self = this;
|
|
883
|
-
_self
|
|
884
|
-
_self
|
|
929
|
+
_self[_DYN_MESSAGE_ID ] = msgId;
|
|
930
|
+
_self[_DYN_MESSAGE ] =
|
|
885
931
|
(isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
|
|
886
932
|
msgId;
|
|
887
|
-
var strProps =
|
|
933
|
+
var strProps = STR_EMPTY;
|
|
888
934
|
if (hasJSON()) {
|
|
889
935
|
strProps = getJSON().stringify(properties);
|
|
890
936
|
}
|
|
891
|
-
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) :
|
|
892
|
-
(properties ? " props:" + _sanitizeDiagnosticText(strProps) :
|
|
893
|
-
_self
|
|
937
|
+
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
|
|
938
|
+
(properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
|
|
939
|
+
_self[_DYN_MESSAGE ] += diagnosticText;
|
|
894
940
|
}
|
|
895
941
|
_InternalLogMessage.dataType = "MessageData";
|
|
896
942
|
return _InternalLogMessage;
|
|
897
943
|
}());
|
|
898
944
|
function safeGetLogger(core, config) {
|
|
899
|
-
return (core || {})
|
|
945
|
+
return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
|
|
900
946
|
}
|
|
901
947
|
var DiagnosticLogger = /** @class */ (function () {
|
|
902
948
|
function DiagnosticLogger(config) {
|
|
@@ -904,48 +950,49 @@
|
|
|
904
950
|
this.queue = [];
|
|
905
951
|
var _messageCount = 0;
|
|
906
952
|
var _messageLogged = {};
|
|
953
|
+
var _loggingLevelConsole;
|
|
954
|
+
var _loggingLevelTelemetry;
|
|
955
|
+
var _maxInternalMessageLimit;
|
|
956
|
+
var _enableDebugExceptions;
|
|
907
957
|
dynamicProto(DiagnosticLogger, this, function (_self) {
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
}
|
|
911
|
-
_self.
|
|
912
|
-
_self
|
|
913
|
-
_self.maxInternalMessageLimit = function () { return _getConfigValue("maxMessageLimit", 25); };
|
|
914
|
-
_self.enableDebugExceptions = function () { return _getConfigValue("enableDebugExceptions", false); };
|
|
958
|
+
_setDefaultsFromConfig(config || {});
|
|
959
|
+
_self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
|
|
960
|
+
_self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
|
|
961
|
+
_self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
|
|
962
|
+
_self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
|
|
915
963
|
_self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
|
|
916
964
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
917
965
|
var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
|
|
918
|
-
if (
|
|
966
|
+
if (_enableDebugExceptions) {
|
|
919
967
|
throw dumpObj(message);
|
|
920
968
|
}
|
|
921
969
|
else {
|
|
922
|
-
var logFunc = severity === 1 ?
|
|
923
|
-
if (!isUndefined(message
|
|
924
|
-
var logLevel = _self.consoleLoggingLevel();
|
|
970
|
+
var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
|
|
971
|
+
if (!isUndefined(message[_DYN_MESSAGE ])) {
|
|
925
972
|
if (isUserAct) {
|
|
926
|
-
var messageKey = +message
|
|
927
|
-
if (!_messageLogged[messageKey] &&
|
|
928
|
-
_self[logFunc](message
|
|
973
|
+
var messageKey = +message[_DYN_MESSAGE_ID ];
|
|
974
|
+
if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
|
|
975
|
+
_self[logFunc](message[_DYN_MESSAGE ]);
|
|
929
976
|
_messageLogged[messageKey] = true;
|
|
930
977
|
}
|
|
931
978
|
}
|
|
932
979
|
else {
|
|
933
|
-
if (
|
|
934
|
-
_self[logFunc](message
|
|
980
|
+
if (_loggingLevelConsole >= severity) {
|
|
981
|
+
_self[logFunc](message[_DYN_MESSAGE ]);
|
|
935
982
|
}
|
|
936
983
|
}
|
|
937
|
-
|
|
984
|
+
_logInternalMessage(severity, message);
|
|
938
985
|
}
|
|
939
986
|
else {
|
|
940
987
|
_debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
|
|
941
988
|
}
|
|
942
989
|
}
|
|
943
990
|
};
|
|
944
|
-
_self
|
|
991
|
+
_self[STR_WARN_TO_CONSOLE ] = function (message) {
|
|
945
992
|
_logToConsole("warn", message);
|
|
946
993
|
_debugExtMsg("warning", message);
|
|
947
994
|
};
|
|
948
|
-
_self
|
|
995
|
+
_self[STR_ERROR_TO_CONSOLE ] = function (message) {
|
|
949
996
|
_logToConsole("error", message);
|
|
950
997
|
_debugExtMsg("error", message);
|
|
951
998
|
};
|
|
@@ -953,12 +1000,13 @@
|
|
|
953
1000
|
_messageCount = 0;
|
|
954
1001
|
_messageLogged = {};
|
|
955
1002
|
};
|
|
956
|
-
_self
|
|
1003
|
+
_self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
|
|
1004
|
+
function _logInternalMessage(severity, message) {
|
|
957
1005
|
if (_areInternalMessagesThrottled()) {
|
|
958
1006
|
return;
|
|
959
1007
|
}
|
|
960
1008
|
var logMessage = true;
|
|
961
|
-
var messageKey = AIInternalMessagePrefix + message
|
|
1009
|
+
var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
|
|
962
1010
|
if (_messageLogged[messageKey]) {
|
|
963
1011
|
logMessage = false;
|
|
964
1012
|
}
|
|
@@ -966,38 +1014,37 @@
|
|
|
966
1014
|
_messageLogged[messageKey] = true;
|
|
967
1015
|
}
|
|
968
1016
|
if (logMessage) {
|
|
969
|
-
if (severity <=
|
|
970
|
-
_self.queue
|
|
1017
|
+
if (severity <= _loggingLevelTelemetry) {
|
|
1018
|
+
_self.queue[_DYN_PUSH ](message);
|
|
971
1019
|
_messageCount++;
|
|
972
1020
|
_debugExtMsg((severity === 1 ? "error" : "warn"), message);
|
|
973
1021
|
}
|
|
974
|
-
if (_messageCount ===
|
|
1022
|
+
if (_messageCount === _maxInternalMessageLimit) {
|
|
975
1023
|
var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
|
|
976
1024
|
var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
|
|
977
|
-
_self.queue
|
|
1025
|
+
_self.queue[_DYN_PUSH ](throttleMessage);
|
|
978
1026
|
if (severity === 1 ) {
|
|
979
|
-
_self
|
|
1027
|
+
_self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
|
|
980
1028
|
}
|
|
981
1029
|
else {
|
|
982
|
-
_self
|
|
1030
|
+
_self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
|
|
983
1031
|
}
|
|
984
1032
|
}
|
|
985
1033
|
}
|
|
986
|
-
}
|
|
987
|
-
function
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
return defValue;
|
|
1034
|
+
}
|
|
1035
|
+
function _setDefaultsFromConfig(config) {
|
|
1036
|
+
_loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
|
|
1037
|
+
_loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
|
|
1038
|
+
_maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
|
|
1039
|
+
_enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
|
|
993
1040
|
}
|
|
994
1041
|
function _areInternalMessagesThrottled() {
|
|
995
|
-
return _messageCount >=
|
|
1042
|
+
return _messageCount >= _maxInternalMessageLimit;
|
|
996
1043
|
}
|
|
997
1044
|
function _debugExtMsg(name, data) {
|
|
998
|
-
var dbgExt = getDebugExt(config);
|
|
999
|
-
if (dbgExt && dbgExt
|
|
1000
|
-
dbgExt
|
|
1045
|
+
var dbgExt = getDebugExt(config || {});
|
|
1046
|
+
if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
|
|
1047
|
+
dbgExt[_DYN_DIAG_LOG ](name, data);
|
|
1001
1048
|
}
|
|
1002
1049
|
}
|
|
1003
1050
|
});
|
|
@@ -1005,20 +1052,25 @@
|
|
|
1005
1052
|
DiagnosticLogger.__ieDyn=1;
|
|
1006
1053
|
return DiagnosticLogger;
|
|
1007
1054
|
}());
|
|
1055
|
+
function _getLogger(logger) {
|
|
1056
|
+
return (logger || new DiagnosticLogger());
|
|
1057
|
+
}
|
|
1008
1058
|
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
1009
1059
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
1010
|
-
(logger
|
|
1060
|
+
_getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
|
|
1011
1061
|
}
|
|
1012
1062
|
|
|
1013
1063
|
var strExecutionContextKey = "ctx";
|
|
1064
|
+
var strParentContextKey = "ParentContextKey";
|
|
1065
|
+
var strChildrenContextKey = "ChildrenContextKey";
|
|
1014
1066
|
var PerfEvent = /** @class */ (function () {
|
|
1015
1067
|
function PerfEvent(name, payloadDetails, isAsync) {
|
|
1016
1068
|
var _self = this;
|
|
1017
1069
|
var accessorDefined = false;
|
|
1018
1070
|
_self.start = dateNow();
|
|
1019
|
-
_self
|
|
1020
|
-
_self
|
|
1021
|
-
_self
|
|
1071
|
+
_self[_DYN_NAME$2 ] = name;
|
|
1072
|
+
_self[_DYN_IS_ASYNC ] = isAsync;
|
|
1073
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return false; };
|
|
1022
1074
|
if (isFunction(payloadDetails)) {
|
|
1023
1075
|
var theDetails_1;
|
|
1024
1076
|
accessorDefined = objDefineAccessors(_self, "payload", function () {
|
|
@@ -1029,24 +1081,24 @@
|
|
|
1029
1081
|
return theDetails_1;
|
|
1030
1082
|
});
|
|
1031
1083
|
}
|
|
1032
|
-
_self
|
|
1084
|
+
_self[_DYN_GET_CTX ] = function (key) {
|
|
1033
1085
|
if (key) {
|
|
1034
|
-
if (key === PerfEvent
|
|
1086
|
+
if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
|
|
1035
1087
|
return _self[key];
|
|
1036
1088
|
}
|
|
1037
1089
|
return (_self[strExecutionContextKey] || {})[key];
|
|
1038
1090
|
}
|
|
1039
1091
|
return null;
|
|
1040
1092
|
};
|
|
1041
|
-
_self
|
|
1093
|
+
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
1042
1094
|
if (key) {
|
|
1043
|
-
if (key === PerfEvent
|
|
1095
|
+
if (key === PerfEvent[strParentContextKey]) {
|
|
1044
1096
|
if (!_self[key]) {
|
|
1045
|
-
_self
|
|
1097
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return true; };
|
|
1046
1098
|
}
|
|
1047
1099
|
_self[key] = value;
|
|
1048
1100
|
}
|
|
1049
|
-
else if (key === PerfEvent
|
|
1101
|
+
else if (key === PerfEvent[strChildrenContextKey]) {
|
|
1050
1102
|
_self[key] = value;
|
|
1051
1103
|
}
|
|
1052
1104
|
else {
|
|
@@ -1055,20 +1107,20 @@
|
|
|
1055
1107
|
}
|
|
1056
1108
|
}
|
|
1057
1109
|
};
|
|
1058
|
-
_self
|
|
1110
|
+
_self[_DYN_COMPLETE ] = function () {
|
|
1059
1111
|
var childTime = 0;
|
|
1060
|
-
var childEvts = _self
|
|
1112
|
+
var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1061
1113
|
if (isArray(childEvts)) {
|
|
1062
|
-
for (var lp = 0; lp < childEvts
|
|
1114
|
+
for (var lp = 0; lp < childEvts[_DYN_LENGTH$2 ]; lp++) {
|
|
1063
1115
|
var childEvt = childEvts[lp];
|
|
1064
1116
|
if (childEvt) {
|
|
1065
|
-
childTime += childEvt
|
|
1117
|
+
childTime += childEvt[_DYN_TIME ];
|
|
1066
1118
|
}
|
|
1067
1119
|
}
|
|
1068
1120
|
}
|
|
1069
|
-
_self
|
|
1070
|
-
_self.exTime = _self
|
|
1071
|
-
_self
|
|
1121
|
+
_self[_DYN_TIME ] = dateNow() - _self.start;
|
|
1122
|
+
_self.exTime = _self[_DYN_TIME ] - childTime;
|
|
1123
|
+
_self[_DYN_COMPLETE ] = function () { };
|
|
1072
1124
|
if (!accessorDefined && isFunction(payloadDetails)) {
|
|
1073
1125
|
_self.payload = payloadDetails();
|
|
1074
1126
|
}
|
|
@@ -1082,40 +1134,40 @@
|
|
|
1082
1134
|
function doPerf(mgrSource, getSource, func, details, isAsync) {
|
|
1083
1135
|
if (mgrSource) {
|
|
1084
1136
|
var perfMgr = mgrSource;
|
|
1085
|
-
if (
|
|
1086
|
-
perfMgr = perfMgr[
|
|
1137
|
+
if (perfMgr[STR_GET_PERF_MGR]) {
|
|
1138
|
+
perfMgr = perfMgr[STR_GET_PERF_MGR]();
|
|
1087
1139
|
}
|
|
1088
1140
|
if (perfMgr) {
|
|
1089
1141
|
var perfEvt = void 0;
|
|
1090
|
-
var currentActive = perfMgr
|
|
1142
|
+
var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
|
|
1091
1143
|
try {
|
|
1092
1144
|
perfEvt = perfMgr.create(getSource(), details, isAsync);
|
|
1093
1145
|
if (perfEvt) {
|
|
1094
|
-
if (currentActive && perfEvt
|
|
1095
|
-
perfEvt
|
|
1096
|
-
if (currentActive
|
|
1097
|
-
var children = currentActive
|
|
1146
|
+
if (currentActive && perfEvt[_DYN_SET_CTX ]) {
|
|
1147
|
+
perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
|
|
1148
|
+
if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
|
|
1149
|
+
var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1098
1150
|
if (!children) {
|
|
1099
1151
|
children = [];
|
|
1100
|
-
currentActive
|
|
1152
|
+
currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
|
|
1101
1153
|
}
|
|
1102
|
-
children
|
|
1154
|
+
children[_DYN_PUSH ](perfEvt);
|
|
1103
1155
|
}
|
|
1104
1156
|
}
|
|
1105
|
-
perfMgr
|
|
1157
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
|
|
1106
1158
|
return func(perfEvt);
|
|
1107
1159
|
}
|
|
1108
1160
|
}
|
|
1109
1161
|
catch (ex) {
|
|
1110
|
-
if (perfEvt && perfEvt
|
|
1111
|
-
perfEvt
|
|
1162
|
+
if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
|
|
1163
|
+
perfEvt[_DYN_SET_CTX ]("exception", ex);
|
|
1112
1164
|
}
|
|
1113
1165
|
}
|
|
1114
1166
|
finally {
|
|
1115
1167
|
if (perfEvt) {
|
|
1116
1168
|
perfMgr.fire(perfEvt);
|
|
1117
1169
|
}
|
|
1118
|
-
perfMgr
|
|
1170
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
|
|
1119
1171
|
}
|
|
1120
1172
|
}
|
|
1121
1173
|
}
|
|
@@ -1177,8 +1229,8 @@
|
|
|
1177
1229
|
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1178
1230
|
var number = random32() >>> 0;
|
|
1179
1231
|
var chars = 0;
|
|
1180
|
-
var result =
|
|
1181
|
-
while (result
|
|
1232
|
+
var result = STR_EMPTY;
|
|
1233
|
+
while (result[_DYN_LENGTH$2 ] < maxLength) {
|
|
1182
1234
|
chars++;
|
|
1183
1235
|
result += base64chars.charAt(number & 0x3F);
|
|
1184
1236
|
number >>>= 6;
|
|
@@ -1191,7 +1243,7 @@
|
|
|
1191
1243
|
}
|
|
1192
1244
|
|
|
1193
1245
|
var _objDefineProperty = ObjDefineProperty;
|
|
1194
|
-
var version = "2.8.5-nightly.
|
|
1246
|
+
var version = "2.8.5-nightly.2207-02";
|
|
1195
1247
|
var instanceName = "." + newId(6);
|
|
1196
1248
|
var _dataUid = 0;
|
|
1197
1249
|
function _createAccessor(target, prop, value) {
|
|
@@ -1210,7 +1262,7 @@
|
|
|
1210
1262
|
return false;
|
|
1211
1263
|
}
|
|
1212
1264
|
function _canAcceptData(target) {
|
|
1213
|
-
return target
|
|
1265
|
+
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1214
1266
|
}
|
|
1215
1267
|
function _getCache(data, target) {
|
|
1216
1268
|
var theCache = target[data.id];
|
|
@@ -1230,11 +1282,11 @@
|
|
|
1230
1282
|
}
|
|
1231
1283
|
function createUniqueNamespace(name, includeVersion) {
|
|
1232
1284
|
if (includeVersion === void 0) { includeVersion = false; }
|
|
1233
|
-
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version :
|
|
1285
|
+
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1234
1286
|
}
|
|
1235
1287
|
function createElmNodeData(name) {
|
|
1236
1288
|
var data = {
|
|
1237
|
-
id: createUniqueNamespace("_aiData-" + (name ||
|
|
1289
|
+
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1238
1290
|
accept: function (target) {
|
|
1239
1291
|
return _canAcceptData(target);
|
|
1240
1292
|
},
|
|
@@ -1274,16 +1326,17 @@
|
|
|
1274
1326
|
var elmNodeData = createElmNodeData("events");
|
|
1275
1327
|
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
1276
1328
|
function _normalizeNamespace(name) {
|
|
1277
|
-
if (name && name
|
|
1278
|
-
return name.replace(/^\s*\.*|\.*\s*$/g,
|
|
1329
|
+
if (name && name[_DYN_REPLACE ]) {
|
|
1330
|
+
return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
|
|
1279
1331
|
}
|
|
1280
1332
|
return name;
|
|
1281
1333
|
}
|
|
1282
1334
|
function _getEvtNamespace(eventName, evtNamespace) {
|
|
1335
|
+
var _a;
|
|
1283
1336
|
if (evtNamespace) {
|
|
1284
|
-
var theNamespace_1 =
|
|
1337
|
+
var theNamespace_1 = STR_EMPTY;
|
|
1285
1338
|
if (isArray(evtNamespace)) {
|
|
1286
|
-
theNamespace_1 =
|
|
1339
|
+
theNamespace_1 = STR_EMPTY;
|
|
1287
1340
|
arrForEach(evtNamespace, function (name) {
|
|
1288
1341
|
name = _normalizeNamespace(name);
|
|
1289
1342
|
if (name) {
|
|
@@ -1301,14 +1354,14 @@
|
|
|
1301
1354
|
if (theNamespace_1[0] !== ".") {
|
|
1302
1355
|
theNamespace_1 = "." + theNamespace_1;
|
|
1303
1356
|
}
|
|
1304
|
-
eventName = (eventName ||
|
|
1357
|
+
eventName = (eventName || STR_EMPTY) + theNamespace_1;
|
|
1305
1358
|
}
|
|
1306
1359
|
}
|
|
1307
|
-
var parsedEvent = (eventNamespace.exec(eventName ||
|
|
1308
|
-
return {
|
|
1309
|
-
|
|
1310
|
-
ns
|
|
1311
|
-
|
|
1360
|
+
var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
|
|
1361
|
+
return _a = {},
|
|
1362
|
+
_a[_DYN_TYPE ] = parsedEvent[1],
|
|
1363
|
+
_a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
|
|
1364
|
+
_a;
|
|
1312
1365
|
}
|
|
1313
1366
|
function _getRegisteredEvents(target, evtName, addDefault) {
|
|
1314
1367
|
if (addDefault === void 0) { addDefault = true; }
|
|
@@ -1321,13 +1374,13 @@
|
|
|
1321
1374
|
}
|
|
1322
1375
|
function _doAttach(obj, evtName, handlerRef, useCapture) {
|
|
1323
1376
|
var result = false;
|
|
1324
|
-
if (obj && evtName && evtName
|
|
1377
|
+
if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
|
|
1325
1378
|
if (obj[strAddEventHelper]) {
|
|
1326
|
-
obj[strAddEventHelper](evtName
|
|
1379
|
+
obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
1327
1380
|
result = true;
|
|
1328
1381
|
}
|
|
1329
1382
|
else if (obj[strAttachEvent]) {
|
|
1330
|
-
obj[strAttachEvent](strOnPrefix + evtName
|
|
1383
|
+
obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
1331
1384
|
result = true;
|
|
1332
1385
|
}
|
|
1333
1386
|
}
|
|
@@ -1342,7 +1395,7 @@
|
|
|
1342
1395
|
else {
|
|
1343
1396
|
newNamespaces = [theNamespace, namespaces];
|
|
1344
1397
|
}
|
|
1345
|
-
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)
|
|
1398
|
+
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT$1 ](".");
|
|
1346
1399
|
}
|
|
1347
1400
|
else {
|
|
1348
1401
|
newNamespaces = theNamespace;
|
|
@@ -1350,6 +1403,7 @@
|
|
|
1350
1403
|
return newNamespaces;
|
|
1351
1404
|
}
|
|
1352
1405
|
function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
|
|
1406
|
+
var _a;
|
|
1353
1407
|
if (useCapture === void 0) { useCapture = false; }
|
|
1354
1408
|
var result = false;
|
|
1355
1409
|
if (target) {
|
|
@@ -1357,13 +1411,14 @@
|
|
|
1357
1411
|
var evtName = _getEvtNamespace(eventName, evtNamespace);
|
|
1358
1412
|
result = _doAttach(target, evtName, handlerRef, useCapture);
|
|
1359
1413
|
if (result && elmNodeData.accept(target)) {
|
|
1360
|
-
var registeredEvent = {
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1414
|
+
var registeredEvent = (_a = {
|
|
1415
|
+
guid: _guid++,
|
|
1416
|
+
evtName: evtName
|
|
1417
|
+
},
|
|
1418
|
+
_a[_DYN_HANDLER ] = handlerRef,
|
|
1419
|
+
_a.capture = useCapture,
|
|
1420
|
+
_a);
|
|
1421
|
+
_getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
|
|
1367
1422
|
}
|
|
1368
1423
|
}
|
|
1369
1424
|
catch (e) {
|
|
@@ -1374,7 +1429,7 @@
|
|
|
1374
1429
|
|
|
1375
1430
|
function generateW3CId() {
|
|
1376
1431
|
var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
1377
|
-
var oct =
|
|
1432
|
+
var oct = STR_EMPTY, tmp;
|
|
1378
1433
|
for (var a = 0; a < 4; a++) {
|
|
1379
1434
|
tmp = random32();
|
|
1380
1435
|
oct +=
|
|
@@ -1388,7 +1443,7 @@
|
|
|
1388
1443
|
hexValues[tmp >> 28 & 0xF];
|
|
1389
1444
|
}
|
|
1390
1445
|
var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
|
|
1391
|
-
return oct
|
|
1446
|
+
return oct[_DYN_SUBSTR ](0, 8) + oct[_DYN_SUBSTR ](9, 4) + "4" + oct[_DYN_SUBSTR ](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR ](16, 3) + oct[_DYN_SUBSTR ](19, 12);
|
|
1392
1447
|
}
|
|
1393
1448
|
|
|
1394
1449
|
var DEFAULT_VERSION = "00";
|
|
@@ -1396,7 +1451,7 @@
|
|
|
1396
1451
|
var INVALID_TRACE_ID = "00000000000000000000000000000000";
|
|
1397
1452
|
var INVALID_SPAN_ID = "0000000000000000";
|
|
1398
1453
|
function _isValid(value, len, invalidValue) {
|
|
1399
|
-
if (value && value
|
|
1454
|
+
if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
|
|
1400
1455
|
return !!value.match(/^[\da-f]*$/);
|
|
1401
1456
|
}
|
|
1402
1457
|
return false;
|
|
@@ -1412,18 +1467,19 @@
|
|
|
1412
1467
|
value = 0x01;
|
|
1413
1468
|
}
|
|
1414
1469
|
var result = value.toString(16);
|
|
1415
|
-
while (result
|
|
1470
|
+
while (result[_DYN_LENGTH$2 ] < 2) {
|
|
1416
1471
|
result = "0" + result;
|
|
1417
1472
|
}
|
|
1418
1473
|
return result;
|
|
1419
1474
|
}
|
|
1420
1475
|
function createTraceParent(traceId, spanId, flags, version) {
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1476
|
+
var _a;
|
|
1477
|
+
return _a = {},
|
|
1478
|
+
_a[_DYN_VERSION ] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
|
|
1479
|
+
_a[_DYN_TRACE_ID$1 ] = isValidTraceId(traceId) ? traceId : generateW3CId(),
|
|
1480
|
+
_a.spanId = isValidSpanId(spanId) ? spanId : generateW3CId()[_DYN_SUBSTR ](0, 16),
|
|
1481
|
+
_a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,
|
|
1482
|
+
_a;
|
|
1427
1483
|
}
|
|
1428
1484
|
function isValidTraceId(value) {
|
|
1429
1485
|
return _isValid(value, 32, INVALID_TRACE_ID);
|
|
@@ -1433,11 +1489,11 @@
|
|
|
1433
1489
|
}
|
|
1434
1490
|
function formatTraceParent(value) {
|
|
1435
1491
|
if (value) {
|
|
1436
|
-
var flags = _formatFlags(value
|
|
1492
|
+
var flags = _formatFlags(value[_DYN_TRACE_FLAGS$1 ]);
|
|
1437
1493
|
if (!_isValid(flags, 2)) {
|
|
1438
1494
|
flags = "01";
|
|
1439
1495
|
}
|
|
1440
|
-
var version = value
|
|
1496
|
+
var version = value[_DYN_VERSION ] || DEFAULT_VERSION;
|
|
1441
1497
|
if (version !== "00" && version !== "ff") {
|
|
1442
1498
|
version = DEFAULT_VERSION;
|
|
1443
1499
|
}
|
|
@@ -1457,12 +1513,12 @@
|
|
|
1457
1513
|
var _chainId = 0;
|
|
1458
1514
|
function _getNextProxyStart(proxy, core, startAt) {
|
|
1459
1515
|
while (proxy) {
|
|
1460
|
-
if (proxy
|
|
1516
|
+
if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
|
|
1461
1517
|
return proxy;
|
|
1462
1518
|
}
|
|
1463
|
-
proxy = proxy
|
|
1519
|
+
proxy = proxy[_DYN_GET_NEXT ]();
|
|
1464
1520
|
}
|
|
1465
|
-
return createTelemetryProxyChain([startAt], core
|
|
1521
|
+
return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
|
|
1466
1522
|
}
|
|
1467
1523
|
function _createInternalContext(telemetryChain, config, core, startAt) {
|
|
1468
1524
|
var _nextProxy = null;
|
|
@@ -1503,7 +1559,7 @@
|
|
|
1503
1559
|
args[_i - 2] = arguments[_i];
|
|
1504
1560
|
}
|
|
1505
1561
|
if (onComplete) {
|
|
1506
|
-
_onComplete
|
|
1562
|
+
_onComplete[_DYN_PUSH ]({
|
|
1507
1563
|
func: onComplete,
|
|
1508
1564
|
self: !isUndefined(that) ? that : context.ctx,
|
|
1509
1565
|
args: args
|
|
@@ -1512,16 +1568,16 @@
|
|
|
1512
1568
|
}
|
|
1513
1569
|
function _moveNext() {
|
|
1514
1570
|
var nextProxy = _nextProxy;
|
|
1515
|
-
_nextProxy = nextProxy ? nextProxy
|
|
1571
|
+
_nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
|
|
1516
1572
|
if (!nextProxy) {
|
|
1517
1573
|
var onComplete = _onComplete;
|
|
1518
|
-
if (onComplete && onComplete
|
|
1574
|
+
if (onComplete && onComplete[_DYN_LENGTH$2 ] > 0) {
|
|
1519
1575
|
arrForEach(onComplete, function (completeDetails) {
|
|
1520
1576
|
try {
|
|
1521
|
-
completeDetails.func
|
|
1577
|
+
completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
|
|
1522
1578
|
}
|
|
1523
1579
|
catch (e) {
|
|
1524
|
-
_throwInternal(core
|
|
1580
|
+
_throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
|
|
1525
1581
|
}
|
|
1526
1582
|
});
|
|
1527
1583
|
_onComplete = [];
|
|
@@ -1534,7 +1590,7 @@
|
|
|
1534
1590
|
if (mergeDefault === void 0) { mergeDefault = 0 ; }
|
|
1535
1591
|
var theConfig;
|
|
1536
1592
|
if (config) {
|
|
1537
|
-
var extConfig = config
|
|
1593
|
+
var extConfig = config[STR_EXTENSION_CONFIG ];
|
|
1538
1594
|
if (extConfig && identifier) {
|
|
1539
1595
|
theConfig = extConfig[identifier];
|
|
1540
1596
|
}
|
|
@@ -1575,7 +1631,7 @@
|
|
|
1575
1631
|
function _iterateChain(cb) {
|
|
1576
1632
|
var nextPlugin;
|
|
1577
1633
|
while (!!(nextPlugin = context._next())) {
|
|
1578
|
-
var plugin = nextPlugin
|
|
1634
|
+
var plugin = nextPlugin[_DYN_GET_PLUGIN ]();
|
|
1579
1635
|
if (plugin) {
|
|
1580
1636
|
cb(plugin);
|
|
1581
1637
|
}
|
|
@@ -1588,7 +1644,7 @@
|
|
|
1588
1644
|
var context = internalContext.ctx;
|
|
1589
1645
|
function _processNext(env) {
|
|
1590
1646
|
var nextPlugin = internalContext._next();
|
|
1591
|
-
nextPlugin && nextPlugin
|
|
1647
|
+
nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
|
|
1592
1648
|
return !nextPlugin;
|
|
1593
1649
|
}
|
|
1594
1650
|
function _createNew(plugins, startAt) {
|
|
@@ -1596,14 +1652,14 @@
|
|
|
1596
1652
|
if (isArray(plugins)) {
|
|
1597
1653
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1598
1654
|
}
|
|
1599
|
-
return createProcessTelemetryContext(plugins || context
|
|
1655
|
+
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
|
|
1600
1656
|
}
|
|
1601
|
-
context
|
|
1602
|
-
context
|
|
1657
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1658
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1603
1659
|
return context;
|
|
1604
1660
|
}
|
|
1605
1661
|
function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
|
|
1606
|
-
var config = core
|
|
1662
|
+
var config = core[_DYN_CONFIG ] || {};
|
|
1607
1663
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1608
1664
|
var context = internalContext.ctx;
|
|
1609
1665
|
function _processNext(unloadState) {
|
|
@@ -1616,20 +1672,20 @@
|
|
|
1616
1672
|
if (isArray(plugins)) {
|
|
1617
1673
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1618
1674
|
}
|
|
1619
|
-
return createProcessTelemetryUnloadContext(plugins || context
|
|
1675
|
+
return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1620
1676
|
}
|
|
1621
|
-
context
|
|
1622
|
-
context
|
|
1677
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1678
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1623
1679
|
return context;
|
|
1624
1680
|
}
|
|
1625
1681
|
function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
|
|
1626
|
-
var config = core
|
|
1682
|
+
var config = core[_DYN_CONFIG ] || {};
|
|
1627
1683
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1628
1684
|
var context = internalContext.ctx;
|
|
1629
1685
|
function _processNext(updateState) {
|
|
1630
1686
|
return context.iterate(function (plugin) {
|
|
1631
|
-
if (isFunction(plugin
|
|
1632
|
-
plugin
|
|
1687
|
+
if (isFunction(plugin[_DYN_UPDATE ])) {
|
|
1688
|
+
plugin[_DYN_UPDATE ](context, updateState);
|
|
1633
1689
|
}
|
|
1634
1690
|
});
|
|
1635
1691
|
}
|
|
@@ -1638,22 +1694,22 @@
|
|
|
1638
1694
|
if (isArray(plugins)) {
|
|
1639
1695
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1640
1696
|
}
|
|
1641
|
-
return createProcessTelemetryUpdateContext(plugins || context
|
|
1697
|
+
return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1642
1698
|
}
|
|
1643
|
-
context
|
|
1644
|
-
context
|
|
1699
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1700
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1645
1701
|
return context;
|
|
1646
1702
|
}
|
|
1647
1703
|
function createTelemetryProxyChain(plugins, config, core, startAt) {
|
|
1648
1704
|
var firstProxy = null;
|
|
1649
1705
|
var add = startAt ? false : true;
|
|
1650
|
-
if (isArray(plugins) && plugins
|
|
1706
|
+
if (isArray(plugins) && plugins[_DYN_LENGTH$2 ] > 0) {
|
|
1651
1707
|
var lastProxy_1 = null;
|
|
1652
1708
|
arrForEach(plugins, function (thePlugin) {
|
|
1653
1709
|
if (!add && startAt === thePlugin) {
|
|
1654
1710
|
add = true;
|
|
1655
1711
|
}
|
|
1656
|
-
if (add && thePlugin && isFunction(thePlugin
|
|
1712
|
+
if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
|
|
1657
1713
|
var newProxy = createTelemetryPluginProxy(thePlugin, config, core);
|
|
1658
1714
|
if (!firstProxy) {
|
|
1659
1715
|
firstProxy = newProxy;
|
|
@@ -1672,11 +1728,11 @@
|
|
|
1672
1728
|
}
|
|
1673
1729
|
function createTelemetryPluginProxy(plugin, config, core) {
|
|
1674
1730
|
var nextProxy = null;
|
|
1675
|
-
var hasProcessTelemetry = isFunction(plugin
|
|
1676
|
-
var hasSetNext = isFunction(plugin
|
|
1731
|
+
var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
|
|
1732
|
+
var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
|
|
1677
1733
|
var chainId;
|
|
1678
1734
|
if (plugin) {
|
|
1679
|
-
chainId = plugin
|
|
1735
|
+
chainId = plugin[_DYN_IDENTIFIER ] + "-" + plugin[STR_PRIORITY ] + "-" + _chainId++;
|
|
1680
1736
|
}
|
|
1681
1737
|
else {
|
|
1682
1738
|
chainId = "Unknown-0-" + _chainId++;
|
|
@@ -1708,17 +1764,17 @@
|
|
|
1708
1764
|
}
|
|
1709
1765
|
function _processChain(itemCtx, processPluginFn, name, details, isAsync) {
|
|
1710
1766
|
var hasRun = false;
|
|
1711
|
-
var identifier = plugin ? plugin
|
|
1767
|
+
var identifier = plugin ? plugin[_DYN_IDENTIFIER ] : strTelemetryPluginChain;
|
|
1712
1768
|
var hasRunContext = itemCtx[strHasRunFlags];
|
|
1713
1769
|
if (!hasRunContext) {
|
|
1714
1770
|
hasRunContext = itemCtx[strHasRunFlags] = {};
|
|
1715
1771
|
}
|
|
1716
1772
|
itemCtx.setNext(nextProxy);
|
|
1717
1773
|
if (plugin) {
|
|
1718
|
-
doPerf(itemCtx[
|
|
1774
|
+
doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
|
|
1719
1775
|
hasRunContext[chainId] = true;
|
|
1720
1776
|
try {
|
|
1721
|
-
var nextId = nextProxy ? nextProxy._id :
|
|
1777
|
+
var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
|
|
1722
1778
|
if (nextId) {
|
|
1723
1779
|
hasRunContext[nextId] = false;
|
|
1724
1780
|
}
|
|
@@ -1730,7 +1786,7 @@
|
|
|
1730
1786
|
hasRun = true;
|
|
1731
1787
|
}
|
|
1732
1788
|
if (!nextProxy || !hasNextRun) {
|
|
1733
|
-
_throwInternal(itemCtx
|
|
1789
|
+
_throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
|
|
1734
1790
|
}
|
|
1735
1791
|
}
|
|
1736
1792
|
}, details, isAsync);
|
|
@@ -1744,17 +1800,17 @@
|
|
|
1744
1800
|
return false;
|
|
1745
1801
|
}
|
|
1746
1802
|
var pluginState = _getPluginState(plugin);
|
|
1747
|
-
if (pluginState
|
|
1803
|
+
if (pluginState[_DYN_TEARDOWN ] || pluginState[STR_DISABLED]) {
|
|
1748
1804
|
return false;
|
|
1749
1805
|
}
|
|
1750
1806
|
if (hasSetNext) {
|
|
1751
|
-
plugin
|
|
1807
|
+
plugin[_DYN_SET_NEXT_PLUGIN ](nextProxy);
|
|
1752
1808
|
}
|
|
1753
|
-
plugin
|
|
1809
|
+
plugin[STR_PROCESS_TELEMETRY ](env, itemCtx);
|
|
1754
1810
|
return true;
|
|
1755
1811
|
}
|
|
1756
1812
|
if (!_processChain(itemCtx, _callProcessTelemetry, "processTelemetry", function () { return ({ item: env }); }, !(env.sync))) {
|
|
1757
|
-
itemCtx
|
|
1813
|
+
itemCtx[_DYN_PROCESS_NEXT ](env);
|
|
1758
1814
|
}
|
|
1759
1815
|
}
|
|
1760
1816
|
function _unloadPlugin(unloadCtx, unloadState) {
|
|
@@ -1762,20 +1818,20 @@
|
|
|
1762
1818
|
var hasRun = false;
|
|
1763
1819
|
if (plugin) {
|
|
1764
1820
|
var pluginState = _getPluginState(plugin);
|
|
1765
|
-
var pluginCore = plugin[
|
|
1766
|
-
if (plugin && (!pluginCore || pluginCore === unloadCtx
|
|
1767
|
-
pluginState[
|
|
1768
|
-
pluginState[
|
|
1769
|
-
pluginState[
|
|
1770
|
-
if (plugin[
|
|
1821
|
+
var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
|
|
1822
|
+
if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
|
|
1823
|
+
pluginState[STR_CORE ] = null;
|
|
1824
|
+
pluginState[_DYN_TEARDOWN ] = true;
|
|
1825
|
+
pluginState[_DYN_IS_INITIALIZED ] = false;
|
|
1826
|
+
if (plugin[_DYN_TEARDOWN ] && plugin[_DYN_TEARDOWN ](unloadCtx, unloadState) === true) {
|
|
1771
1827
|
hasRun = true;
|
|
1772
1828
|
}
|
|
1773
1829
|
}
|
|
1774
1830
|
}
|
|
1775
1831
|
return hasRun;
|
|
1776
1832
|
}
|
|
1777
|
-
if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState
|
|
1778
|
-
unloadCtx
|
|
1833
|
+
if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState[_DYN_IS_ASYNC ])) {
|
|
1834
|
+
unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
|
|
1779
1835
|
}
|
|
1780
1836
|
}
|
|
1781
1837
|
function _updatePlugin(updateCtx, updateState) {
|
|
@@ -1783,9 +1839,9 @@
|
|
|
1783
1839
|
var hasRun = false;
|
|
1784
1840
|
if (plugin) {
|
|
1785
1841
|
var pluginState = _getPluginState(plugin);
|
|
1786
|
-
var pluginCore = plugin[
|
|
1787
|
-
if (plugin && (!pluginCore || pluginCore === updateCtx
|
|
1788
|
-
if (plugin[
|
|
1842
|
+
var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
|
|
1843
|
+
if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
|
|
1844
|
+
if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
|
|
1789
1845
|
hasRun = true;
|
|
1790
1846
|
}
|
|
1791
1847
|
}
|
|
@@ -1793,19 +1849,17 @@
|
|
|
1793
1849
|
return hasRun;
|
|
1794
1850
|
}
|
|
1795
1851
|
if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
|
|
1796
|
-
updateCtx
|
|
1852
|
+
updateCtx[_DYN_PROCESS_NEXT ](updateState);
|
|
1797
1853
|
}
|
|
1798
1854
|
}
|
|
1799
1855
|
return objFreeze(proxyChain);
|
|
1800
1856
|
}
|
|
1801
1857
|
|
|
1802
|
-
var strExtensionConfig = "extensionConfig";
|
|
1803
|
-
|
|
1804
1858
|
function createUnloadHandlerContainer() {
|
|
1805
1859
|
var handlers = [];
|
|
1806
1860
|
function _addHandler(handler) {
|
|
1807
1861
|
if (handler) {
|
|
1808
|
-
handlers
|
|
1862
|
+
handlers[_DYN_PUSH ](handler);
|
|
1809
1863
|
}
|
|
1810
1864
|
}
|
|
1811
1865
|
function _runHandlers(unloadCtx, unloadState) {
|
|
@@ -1814,7 +1868,7 @@
|
|
|
1814
1868
|
handler(unloadCtx, unloadState);
|
|
1815
1869
|
}
|
|
1816
1870
|
catch (e) {
|
|
1817
|
-
_throwInternal(unloadCtx
|
|
1871
|
+
_throwInternal(unloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
|
|
1818
1872
|
}
|
|
1819
1873
|
});
|
|
1820
1874
|
handlers = [];
|
|
@@ -1836,37 +1890,40 @@
|
|
|
1836
1890
|
var _hooks;
|
|
1837
1891
|
_initDefaults();
|
|
1838
1892
|
dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
|
|
1839
|
-
_self
|
|
1893
|
+
_self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
|
|
1840
1894
|
_setDefaults(config, core, pluginChain);
|
|
1841
1895
|
_isinitialized = true;
|
|
1842
1896
|
};
|
|
1843
|
-
_self
|
|
1844
|
-
var
|
|
1845
|
-
|
|
1897
|
+
_self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) {
|
|
1898
|
+
var _a;
|
|
1899
|
+
var core = _self[STR_CORE ];
|
|
1900
|
+
if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) {
|
|
1846
1901
|
return;
|
|
1847
1902
|
}
|
|
1848
1903
|
var result;
|
|
1849
1904
|
var unloadDone = false;
|
|
1850
1905
|
var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
|
|
1851
|
-
var theUnloadState = unloadState || {
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1906
|
+
var theUnloadState = unloadState || (_a = {
|
|
1907
|
+
reason: 0
|
|
1908
|
+
},
|
|
1909
|
+
_a[_DYN_IS_ASYNC ] = false,
|
|
1910
|
+
_a);
|
|
1855
1911
|
function _unloadCallback() {
|
|
1856
1912
|
if (!unloadDone) {
|
|
1857
1913
|
unloadDone = true;
|
|
1858
1914
|
_unloadHandlerContainer.run(theUnloadCtx, unloadState);
|
|
1859
|
-
|
|
1915
|
+
var oldHooks = _hooks;
|
|
1916
|
+
_hooks = [];
|
|
1917
|
+
arrForEach(oldHooks, function (fn) {
|
|
1860
1918
|
fn.rm();
|
|
1861
1919
|
});
|
|
1862
|
-
_hooks = [];
|
|
1863
1920
|
if (result === true) {
|
|
1864
|
-
theUnloadCtx
|
|
1921
|
+
theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
|
|
1865
1922
|
}
|
|
1866
1923
|
_initDefaults();
|
|
1867
1924
|
}
|
|
1868
1925
|
}
|
|
1869
|
-
if (!_self[
|
|
1926
|
+
if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
|
|
1870
1927
|
_unloadCallback();
|
|
1871
1928
|
}
|
|
1872
1929
|
else {
|
|
@@ -1874,9 +1931,9 @@
|
|
|
1874
1931
|
}
|
|
1875
1932
|
return result;
|
|
1876
1933
|
};
|
|
1877
|
-
_self
|
|
1878
|
-
var core = _self
|
|
1879
|
-
if (!core || (updateCtx && core !== updateCtx
|
|
1934
|
+
_self[_DYN_UPDATE ] = function (updateCtx, updateState) {
|
|
1935
|
+
var core = _self[STR_CORE ];
|
|
1936
|
+
if (!core || (updateCtx && core !== updateCtx[STR_CORE ]())) {
|
|
1880
1937
|
return;
|
|
1881
1938
|
}
|
|
1882
1939
|
var result;
|
|
@@ -1888,7 +1945,7 @@
|
|
|
1888
1945
|
function _updateCallback() {
|
|
1889
1946
|
if (!updateDone) {
|
|
1890
1947
|
updateDone = true;
|
|
1891
|
-
_setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx
|
|
1948
|
+
_setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]());
|
|
1892
1949
|
}
|
|
1893
1950
|
}
|
|
1894
1951
|
if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
|
|
@@ -1905,30 +1962,30 @@
|
|
|
1905
1962
|
_hooks = _hooks.concat(hooks);
|
|
1906
1963
|
}
|
|
1907
1964
|
else {
|
|
1908
|
-
_hooks
|
|
1965
|
+
_hooks[_DYN_PUSH ](hooks);
|
|
1909
1966
|
}
|
|
1910
1967
|
}
|
|
1911
1968
|
};
|
|
1912
1969
|
proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
|
|
1913
1970
|
});
|
|
1914
|
-
_self
|
|
1915
|
-
return _getTelCtx(itemCtx)
|
|
1971
|
+
_self[_DYN_DIAG_LOG ] = function (itemCtx) {
|
|
1972
|
+
return _getTelCtx(itemCtx)[_DYN_DIAG_LOG ]();
|
|
1916
1973
|
};
|
|
1917
|
-
_self[
|
|
1974
|
+
_self[_DYN_IS_INITIALIZED ] = function () {
|
|
1918
1975
|
return _isinitialized;
|
|
1919
1976
|
};
|
|
1920
1977
|
_self.setInitialized = function (isInitialized) {
|
|
1921
1978
|
_isinitialized = isInitialized;
|
|
1922
1979
|
};
|
|
1923
|
-
_self[
|
|
1980
|
+
_self[_DYN_SET_NEXT_PLUGIN ] = function (next) {
|
|
1924
1981
|
_nextPlugin = next;
|
|
1925
1982
|
};
|
|
1926
|
-
_self
|
|
1983
|
+
_self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) {
|
|
1927
1984
|
if (itemCtx) {
|
|
1928
|
-
itemCtx
|
|
1985
|
+
itemCtx[_DYN_PROCESS_NEXT ](env);
|
|
1929
1986
|
}
|
|
1930
|
-
else if (_nextPlugin && isFunction(_nextPlugin
|
|
1931
|
-
_nextPlugin
|
|
1987
|
+
else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) {
|
|
1988
|
+
_nextPlugin[STR_PROCESS_TELEMETRY ](env, null);
|
|
1932
1989
|
}
|
|
1933
1990
|
};
|
|
1934
1991
|
_self._getTelCtx = _getTelCtx;
|
|
@@ -1936,33 +1993,33 @@
|
|
|
1936
1993
|
if (currentCtx === void 0) { currentCtx = null; }
|
|
1937
1994
|
var itemCtx = currentCtx;
|
|
1938
1995
|
if (!itemCtx) {
|
|
1939
|
-
var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self
|
|
1996
|
+
var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]);
|
|
1940
1997
|
if (_nextPlugin && _nextPlugin[strGetPlugin]) {
|
|
1941
|
-
itemCtx = rootCtx
|
|
1998
|
+
itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]);
|
|
1942
1999
|
}
|
|
1943
2000
|
else {
|
|
1944
|
-
itemCtx = rootCtx
|
|
2001
|
+
itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
|
|
1945
2002
|
}
|
|
1946
2003
|
}
|
|
1947
2004
|
return itemCtx;
|
|
1948
2005
|
}
|
|
1949
2006
|
function _setDefaults(config, core, pluginChain) {
|
|
1950
2007
|
if (config) {
|
|
1951
|
-
setValue(config,
|
|
2008
|
+
setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
|
|
1952
2009
|
}
|
|
1953
2010
|
if (!pluginChain && core) {
|
|
1954
|
-
pluginChain = core
|
|
2011
|
+
pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
|
|
1955
2012
|
}
|
|
1956
2013
|
var nextPlugin = _nextPlugin;
|
|
1957
2014
|
if (_nextPlugin && _nextPlugin[strGetPlugin]) {
|
|
1958
2015
|
nextPlugin = _nextPlugin[strGetPlugin]();
|
|
1959
2016
|
}
|
|
1960
|
-
_self
|
|
2017
|
+
_self[STR_CORE ] = core;
|
|
1961
2018
|
_rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
|
|
1962
2019
|
}
|
|
1963
2020
|
function _initDefaults() {
|
|
1964
2021
|
_isinitialized = false;
|
|
1965
|
-
_self
|
|
2022
|
+
_self[STR_CORE ] = null;
|
|
1966
2023
|
_rootCtx = null;
|
|
1967
2024
|
_nextPlugin = null;
|
|
1968
2025
|
_hooks = [];
|
|
@@ -1979,7 +2036,7 @@
|
|
|
1979
2036
|
];
|
|
1980
2037
|
function _arrLoop(arr, fn) {
|
|
1981
2038
|
if (arr) {
|
|
1982
|
-
for (var lp = 0; lp < arr
|
|
2039
|
+
for (var lp = 0; lp < arr[_DYN_LENGTH$2 ]; lp++) {
|
|
1983
2040
|
if (fn(arr[lp], lp)) {
|
|
1984
2041
|
break;
|
|
1985
2042
|
}
|
|
@@ -1997,7 +2054,7 @@
|
|
|
1997
2054
|
return ctx;
|
|
1998
2055
|
};
|
|
1999
2056
|
try {
|
|
2000
|
-
cb
|
|
2057
|
+
cb[_DYN_APPLY ](callDetails.inst, cbArgs);
|
|
2001
2058
|
}
|
|
2002
2059
|
catch (err) {
|
|
2003
2060
|
var orgEx = callDetails.err;
|
|
@@ -2005,7 +2062,7 @@
|
|
|
2005
2062
|
var hookErrorCb = cbks[cbNames[2 ]];
|
|
2006
2063
|
if (hookErrorCb) {
|
|
2007
2064
|
callDetails.err = err;
|
|
2008
|
-
hookErrorCb
|
|
2065
|
+
hookErrorCb[_DYN_APPLY ](callDetails.inst, cbArgs);
|
|
2009
2066
|
}
|
|
2010
2067
|
}
|
|
2011
2068
|
catch (e) {
|
|
@@ -2020,21 +2077,22 @@
|
|
|
2020
2077
|
}
|
|
2021
2078
|
function _createFunctionHook(aiHook) {
|
|
2022
2079
|
return function () {
|
|
2080
|
+
var _a;
|
|
2023
2081
|
var funcThis = this;
|
|
2024
2082
|
var orgArgs = arguments;
|
|
2025
2083
|
var hooks = aiHook.h;
|
|
2026
|
-
var funcArgs = {
|
|
2027
|
-
|
|
2028
|
-
inst
|
|
2029
|
-
ctx
|
|
2030
|
-
set
|
|
2031
|
-
|
|
2084
|
+
var funcArgs = (_a = {},
|
|
2085
|
+
_a[_DYN_NAME$2 ] = aiHook.n,
|
|
2086
|
+
_a.inst = funcThis,
|
|
2087
|
+
_a.ctx = null,
|
|
2088
|
+
_a.set = _replaceArg,
|
|
2089
|
+
_a);
|
|
2032
2090
|
var hookCtx = [];
|
|
2033
2091
|
var cbArgs = _createArgs([funcArgs], orgArgs);
|
|
2034
2092
|
funcArgs.evt = getGlobalInst("event");
|
|
2035
2093
|
function _createArgs(target, theArgs) {
|
|
2036
2094
|
_arrLoop(theArgs, function (arg) {
|
|
2037
|
-
target
|
|
2095
|
+
target[_DYN_PUSH ](arg);
|
|
2038
2096
|
});
|
|
2039
2097
|
return target;
|
|
2040
2098
|
}
|
|
@@ -2047,7 +2105,7 @@
|
|
|
2047
2105
|
var theFunc = aiHook.f;
|
|
2048
2106
|
if (theFunc) {
|
|
2049
2107
|
try {
|
|
2050
|
-
funcArgs.rslt = theFunc
|
|
2108
|
+
funcArgs.rslt = theFunc[_DYN_APPLY ](funcThis, orgArgs);
|
|
2051
2109
|
}
|
|
2052
2110
|
catch (err) {
|
|
2053
2111
|
funcArgs.err = err;
|
|
@@ -2066,7 +2124,7 @@
|
|
|
2066
2124
|
owner = target;
|
|
2067
2125
|
}
|
|
2068
2126
|
else if (checkPrototype) {
|
|
2069
|
-
owner = _getOwner(_getObjProto
|
|
2127
|
+
owner = _getOwner(_getObjProto(target), name, false);
|
|
2070
2128
|
}
|
|
2071
2129
|
}
|
|
2072
2130
|
return owner;
|
|
@@ -2097,14 +2155,14 @@
|
|
|
2097
2155
|
var id = this.id;
|
|
2098
2156
|
_arrLoop(aiHook.h, function (hook, idx) {
|
|
2099
2157
|
if (hook.id === id) {
|
|
2100
|
-
aiHook.h
|
|
2158
|
+
aiHook.h[_DYN_SPLICE ](idx, 1);
|
|
2101
2159
|
return 1;
|
|
2102
2160
|
}
|
|
2103
2161
|
});
|
|
2104
2162
|
}
|
|
2105
2163
|
};
|
|
2106
2164
|
aiHook.i++;
|
|
2107
|
-
aiHook.h
|
|
2165
|
+
aiHook.h[_DYN_PUSH ](theHook);
|
|
2108
2166
|
return theHook;
|
|
2109
2167
|
}
|
|
2110
2168
|
function InstrumentFunc(target, funcName, callbacks, checkPrototype) {
|
|
@@ -2121,6 +2179,48 @@
|
|
|
2121
2179
|
return null;
|
|
2122
2180
|
}
|
|
2123
2181
|
|
|
2182
|
+
var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
|
|
2183
|
+
var DEFAULT_BREEZE_ENDPOINT = "https://dc.services.visualstudio.com";
|
|
2184
|
+
var DEFAULT_BREEZE_PATH = "/v2/track";
|
|
2185
|
+
var strNotSpecified = "not_specified";
|
|
2186
|
+
var strIkey = "iKey";
|
|
2187
|
+
|
|
2188
|
+
var _DYN_SPLIT = "split";
|
|
2189
|
+
var _DYN_LENGTH$1 = "length";
|
|
2190
|
+
var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
|
|
2191
|
+
var _DYN_TO_STRING = "toString";
|
|
2192
|
+
var _DYN_NAME$1 = "name";
|
|
2193
|
+
var _DYN_PATHNAME = "pathname";
|
|
2194
|
+
var _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns";
|
|
2195
|
+
var _DYN_INDEX_OF = "indexOf";
|
|
2196
|
+
var _DYN_PROPERTIES = "properties";
|
|
2197
|
+
var _DYN_MEASUREMENTS = "measurements";
|
|
2198
|
+
var _DYN_STRINGIFY = "stringify";
|
|
2199
|
+
var _DYN_DURATION = "duration";
|
|
2200
|
+
var _DYN_SUBSTRING = "substring";
|
|
2201
|
+
var _DYN_SANITIZE_KEY_AND_ADD2 = "sanitizeKeyAndAddUniqueness";
|
|
2202
|
+
var _DYN_SANITIZE_EXCEPTION = "sanitizeException";
|
|
2203
|
+
var _DYN_SANITIZE_PROPERTIES = "sanitizeProperties";
|
|
2204
|
+
var _DYN_SANITIZE_MEASUREMENT3 = "sanitizeMeasurements";
|
|
2205
|
+
|
|
2206
|
+
var strEmpty = "";
|
|
2207
|
+
function msToTimeSpan(totalms) {
|
|
2208
|
+
if (isNaN(totalms) || totalms < 0) {
|
|
2209
|
+
totalms = 0;
|
|
2210
|
+
}
|
|
2211
|
+
totalms = Math.round(totalms);
|
|
2212
|
+
var ms = strEmpty + totalms % 1000;
|
|
2213
|
+
var sec = strEmpty + Math.floor(totalms / 1000) % 60;
|
|
2214
|
+
var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;
|
|
2215
|
+
var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;
|
|
2216
|
+
var days = Math.floor(totalms / (1000 * 60 * 60 * 24));
|
|
2217
|
+
ms = ms[_DYN_LENGTH$1 ] === 1 ? "00" + ms : ms[_DYN_LENGTH$1 ] === 2 ? "0" + ms : ms;
|
|
2218
|
+
sec = sec[_DYN_LENGTH$1 ] < 2 ? "0" + sec : sec;
|
|
2219
|
+
min = min[_DYN_LENGTH$1 ] < 2 ? "0" + min : min;
|
|
2220
|
+
hour = hour[_DYN_LENGTH$1 ] < 2 ? "0" + hour : hour;
|
|
2221
|
+
return (days > 0 ? days + "." : strEmpty) + hour + ":" + min + ":" + sec + "." + ms;
|
|
2222
|
+
}
|
|
2223
|
+
|
|
2124
2224
|
var RequestHeaders = createValueMap({
|
|
2125
2225
|
requestContextHeader: [0 , "Request-Context"],
|
|
2126
2226
|
requestContextTargetKey: [1 , "appId"],
|
|
@@ -2133,15 +2233,16 @@
|
|
|
2133
2233
|
requestContextHeaderLowerCase: [8 , "request-context"]
|
|
2134
2234
|
});
|
|
2135
2235
|
|
|
2236
|
+
var _a;
|
|
2136
2237
|
function dataSanitizeKeyAndAddUniqueness(logger, key, map) {
|
|
2137
|
-
var origLength = key
|
|
2238
|
+
var origLength = key[_DYN_LENGTH$1 ];
|
|
2138
2239
|
var field = dataSanitizeKey(logger, key);
|
|
2139
|
-
if (field
|
|
2240
|
+
if (field[_DYN_LENGTH$1 ] !== origLength) {
|
|
2140
2241
|
var i = 0;
|
|
2141
2242
|
var uniqueField = field;
|
|
2142
2243
|
while (map[uniqueField] !== undefined) {
|
|
2143
2244
|
i++;
|
|
2144
|
-
uniqueField = field
|
|
2245
|
+
uniqueField = field[_DYN_SUBSTRING ](0, 150 - 3) + dsPadNumber(i);
|
|
2145
2246
|
}
|
|
2146
2247
|
field = uniqueField;
|
|
2147
2248
|
}
|
|
@@ -2150,9 +2251,9 @@
|
|
|
2150
2251
|
function dataSanitizeKey(logger, name) {
|
|
2151
2252
|
var nameTrunc;
|
|
2152
2253
|
if (name) {
|
|
2153
|
-
name = strTrim(name
|
|
2154
|
-
if (name
|
|
2155
|
-
nameTrunc = name
|
|
2254
|
+
name = strTrim(name[_DYN_TO_STRING ]());
|
|
2255
|
+
if (name[_DYN_LENGTH$1 ] > 150 ) {
|
|
2256
|
+
nameTrunc = name[_DYN_SUBSTRING ](0, 150 );
|
|
2156
2257
|
_throwInternal(logger, 2 , 57 , "name is too long. It has been truncated to " + 150 + " characters.", { name: name }, true);
|
|
2157
2258
|
}
|
|
2158
2259
|
}
|
|
@@ -2164,8 +2265,8 @@
|
|
|
2164
2265
|
if (value) {
|
|
2165
2266
|
maxLength = maxLength ? maxLength : 1024 ;
|
|
2166
2267
|
value = strTrim(value);
|
|
2167
|
-
if (value.toString()
|
|
2168
|
-
valueTrunc = value
|
|
2268
|
+
if (value.toString()[_DYN_LENGTH$1 ] > maxLength) {
|
|
2269
|
+
valueTrunc = value[_DYN_TO_STRING ]()[_DYN_SUBSTRING ](0, maxLength);
|
|
2169
2270
|
_throwInternal(logger, 2 , 61 , "string value is too long. It has been truncated to " + maxLength + " characters.", { value: value }, true);
|
|
2170
2271
|
}
|
|
2171
2272
|
}
|
|
@@ -2174,13 +2275,34 @@
|
|
|
2174
2275
|
function dataSanitizeUrl(logger, url) {
|
|
2175
2276
|
return dataSanitizeInput(logger, url, 2048 , 66 );
|
|
2176
2277
|
}
|
|
2278
|
+
function dataSanitizeMessage(logger, message) {
|
|
2279
|
+
var messageTrunc;
|
|
2280
|
+
if (message) {
|
|
2281
|
+
if (message[_DYN_LENGTH$1 ] > 32768 ) {
|
|
2282
|
+
messageTrunc = message[_DYN_SUBSTRING ](0, 32768 );
|
|
2283
|
+
_throwInternal(logger, 2 , 56 , "message is too long, it has been truncated to " + 32768 + " characters.", { message: message }, true);
|
|
2284
|
+
}
|
|
2285
|
+
}
|
|
2286
|
+
return messageTrunc || message;
|
|
2287
|
+
}
|
|
2288
|
+
function dataSanitizeException(logger, exception) {
|
|
2289
|
+
var exceptionTrunc;
|
|
2290
|
+
if (exception) {
|
|
2291
|
+
var value = "" + exception;
|
|
2292
|
+
if (value[_DYN_LENGTH$1 ] > 32768 ) {
|
|
2293
|
+
exceptionTrunc = value[_DYN_SUBSTRING ](0, 32768 );
|
|
2294
|
+
_throwInternal(logger, 2 , 52 , "exception is too long, it has been truncated to " + 32768 + " characters.", { exception: exception }, true);
|
|
2295
|
+
}
|
|
2296
|
+
}
|
|
2297
|
+
return exceptionTrunc || exception;
|
|
2298
|
+
}
|
|
2177
2299
|
function dataSanitizeProperties(logger, properties) {
|
|
2178
2300
|
if (properties) {
|
|
2179
2301
|
var tempProps_1 = {};
|
|
2180
2302
|
objForEachKey(properties, function (prop, value) {
|
|
2181
2303
|
if (isObject(value) && hasJSON()) {
|
|
2182
2304
|
try {
|
|
2183
|
-
value = getJSON()
|
|
2305
|
+
value = getJSON()[_DYN_STRINGIFY ](value);
|
|
2184
2306
|
}
|
|
2185
2307
|
catch (e) {
|
|
2186
2308
|
_throwInternal(logger, 2 , 49 , "custom property is not valid", { exception: e }, true);
|
|
@@ -2205,12 +2327,15 @@
|
|
|
2205
2327
|
}
|
|
2206
2328
|
return measurements;
|
|
2207
2329
|
}
|
|
2330
|
+
function dataSanitizeId(logger, id) {
|
|
2331
|
+
return id ? dataSanitizeInput(logger, id, 128 , 69 )[_DYN_TO_STRING ]() : id;
|
|
2332
|
+
}
|
|
2208
2333
|
function dataSanitizeInput(logger, input, maxLength, _msgId) {
|
|
2209
2334
|
var inputTrunc;
|
|
2210
2335
|
if (input) {
|
|
2211
2336
|
input = strTrim(input);
|
|
2212
|
-
if (input
|
|
2213
|
-
inputTrunc = input
|
|
2337
|
+
if (input[_DYN_LENGTH$1 ] > maxLength) {
|
|
2338
|
+
inputTrunc = input[_DYN_SUBSTRING ](0, maxLength);
|
|
2214
2339
|
_throwInternal(logger, 2 , _msgId, "input is too long, it has been truncated to " + maxLength + " characters.", { data: input }, true);
|
|
2215
2340
|
}
|
|
2216
2341
|
}
|
|
@@ -2218,30 +2343,30 @@
|
|
|
2218
2343
|
}
|
|
2219
2344
|
function dsPadNumber(num) {
|
|
2220
2345
|
var s = "00" + num;
|
|
2221
|
-
return s.substr(s
|
|
2222
|
-
}
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2346
|
+
return s.substr(s[_DYN_LENGTH$1 ] - 3);
|
|
2347
|
+
}
|
|
2348
|
+
(_a = {
|
|
2349
|
+
MAX_NAME_LENGTH: 150 ,
|
|
2350
|
+
MAX_ID_LENGTH: 128 ,
|
|
2351
|
+
MAX_PROPERTY_LENGTH: 8192 ,
|
|
2352
|
+
MAX_STRING_LENGTH: 1024 ,
|
|
2353
|
+
MAX_URL_LENGTH: 2048 ,
|
|
2354
|
+
MAX_MESSAGE_LENGTH: 32768 ,
|
|
2355
|
+
MAX_EXCEPTION_LENGTH: 32768
|
|
2356
|
+
},
|
|
2357
|
+
_a[_DYN_SANITIZE_KEY_AND_ADD2 ] = dataSanitizeKeyAndAddUniqueness,
|
|
2358
|
+
_a.sanitizeKey = dataSanitizeKey,
|
|
2359
|
+
_a.sanitizeString = dataSanitizeString,
|
|
2360
|
+
_a.sanitizeUrl = dataSanitizeUrl,
|
|
2361
|
+
_a.sanitizeMessage = dataSanitizeMessage,
|
|
2362
|
+
_a[_DYN_SANITIZE_EXCEPTION ] = dataSanitizeException,
|
|
2363
|
+
_a[_DYN_SANITIZE_PROPERTIES ] = dataSanitizeProperties,
|
|
2364
|
+
_a[_DYN_SANITIZE_MEASUREMENT3 ] = dataSanitizeMeasurements,
|
|
2365
|
+
_a.sanitizeId = dataSanitizeId,
|
|
2366
|
+
_a.sanitizeInput = dataSanitizeInput,
|
|
2367
|
+
_a.padNumber = dsPadNumber,
|
|
2368
|
+
_a.trim = strTrim,
|
|
2369
|
+
_a);
|
|
2245
2370
|
|
|
2246
2371
|
var _document = getDocument() || {};
|
|
2247
2372
|
var _htmlAnchorIdx = 0;
|
|
@@ -2258,7 +2383,7 @@
|
|
|
2258
2383
|
}
|
|
2259
2384
|
tempAnchor.href = url;
|
|
2260
2385
|
anchorIdx++;
|
|
2261
|
-
if (anchorIdx >= anchorCache
|
|
2386
|
+
if (anchorIdx >= anchorCache[_DYN_LENGTH$1 ]) {
|
|
2262
2387
|
anchorIdx = 0;
|
|
2263
2388
|
}
|
|
2264
2389
|
_htmlAnchorIdx = anchorIdx;
|
|
@@ -2282,7 +2407,7 @@
|
|
|
2282
2407
|
var fullHost = urlParseFullHost(url, inclPort) || "";
|
|
2283
2408
|
if (fullHost) {
|
|
2284
2409
|
var match = fullHost.match(/(www[0-9]?\.)?(.[^/:]+)(\:[\d]+)?/i);
|
|
2285
|
-
if (match != null && match
|
|
2410
|
+
if (match != null && match[_DYN_LENGTH$1 ] > 3 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
|
|
2286
2411
|
return match[2] + (match[3] || "");
|
|
2287
2412
|
}
|
|
2288
2413
|
}
|
|
@@ -2292,10 +2417,10 @@
|
|
|
2292
2417
|
var result = null;
|
|
2293
2418
|
if (url) {
|
|
2294
2419
|
var match = url.match(/(\w*):\/\/(.[^/:]+)(\:[\d]+)?/i);
|
|
2295
|
-
if (match != null && match
|
|
2420
|
+
if (match != null && match[_DYN_LENGTH$1 ] > 2 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
|
|
2296
2421
|
result = match[2] || "";
|
|
2297
|
-
if (inclPort && match
|
|
2298
|
-
var protocol = (match[1] || "")
|
|
2422
|
+
if (inclPort && match[_DYN_LENGTH$1 ] > 2) {
|
|
2423
|
+
var protocol = (match[1] || "")[_DYN_TO_LOWER_CASE$1 ]();
|
|
2299
2424
|
var port = match[3] || "";
|
|
2300
2425
|
if (protocol === "http" && port === ":80") {
|
|
2301
2426
|
port = "";
|
|
@@ -2311,12 +2436,12 @@
|
|
|
2311
2436
|
}
|
|
2312
2437
|
|
|
2313
2438
|
var _internalEndpoints = [
|
|
2314
|
-
|
|
2315
|
-
"https://breeze.aimon.applicationinsights.io
|
|
2316
|
-
"https://dc-int.services.visualstudio.com
|
|
2439
|
+
DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,
|
|
2440
|
+
"https://breeze.aimon.applicationinsights.io" + DEFAULT_BREEZE_PATH,
|
|
2441
|
+
"https://dc-int.services.visualstudio.com" + DEFAULT_BREEZE_PATH
|
|
2317
2442
|
];
|
|
2318
2443
|
function isInternalApplicationInsightsEndpoint(endpointUrl) {
|
|
2319
|
-
return arrIndexOf(_internalEndpoints, endpointUrl
|
|
2444
|
+
return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE$1 ]()) !== -1;
|
|
2320
2445
|
}
|
|
2321
2446
|
var CorrelationIdHelper = {
|
|
2322
2447
|
correlationIdPrefix: "cid-v1:",
|
|
@@ -2324,16 +2449,16 @@
|
|
|
2324
2449
|
if (!requestUrl || (config && config.disableCorrelationHeaders)) {
|
|
2325
2450
|
return false;
|
|
2326
2451
|
}
|
|
2327
|
-
if (config && config
|
|
2328
|
-
for (var i = 0; i < config.correlationHeaderExcludePatterns
|
|
2329
|
-
if (config
|
|
2452
|
+
if (config && config[_DYN_CORRELATION_HEADER_E0 ]) {
|
|
2453
|
+
for (var i = 0; i < config.correlationHeaderExcludePatterns[_DYN_LENGTH$1 ]; i++) {
|
|
2454
|
+
if (config[_DYN_CORRELATION_HEADER_E0 ][i].test(requestUrl)) {
|
|
2330
2455
|
return false;
|
|
2331
2456
|
}
|
|
2332
2457
|
}
|
|
2333
2458
|
}
|
|
2334
|
-
var requestHost = urlParseUrl(requestUrl).host
|
|
2335
|
-
if (requestHost && (requestHost
|
|
2336
|
-
requestHost = (urlParseFullHost(requestUrl, true) || "")
|
|
2459
|
+
var requestHost = urlParseUrl(requestUrl).host[_DYN_TO_LOWER_CASE$1 ]();
|
|
2460
|
+
if (requestHost && (requestHost[_DYN_INDEX_OF ](":443") !== -1 || requestHost[_DYN_INDEX_OF ](":80") !== -1)) {
|
|
2461
|
+
requestHost = (urlParseFullHost(requestUrl, true) || "")[_DYN_TO_LOWER_CASE$1 ]();
|
|
2337
2462
|
}
|
|
2338
2463
|
if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {
|
|
2339
2464
|
return false;
|
|
@@ -2350,16 +2475,16 @@
|
|
|
2350
2475
|
}
|
|
2351
2476
|
}
|
|
2352
2477
|
var excludedDomains = config && config.correlationHeaderExcludedDomains;
|
|
2353
|
-
if (!excludedDomains || excludedDomains
|
|
2478
|
+
if (!excludedDomains || excludedDomains[_DYN_LENGTH$1 ] === 0) {
|
|
2354
2479
|
return true;
|
|
2355
2480
|
}
|
|
2356
|
-
for (var i = 0; i < excludedDomains
|
|
2481
|
+
for (var i = 0; i < excludedDomains[_DYN_LENGTH$1 ]; i++) {
|
|
2357
2482
|
var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\/g, "\\\\").replace(/\./g, "\\.").replace(/\*/g, ".*"));
|
|
2358
2483
|
if (regex.test(requestHost)) {
|
|
2359
2484
|
return false;
|
|
2360
2485
|
}
|
|
2361
2486
|
}
|
|
2362
|
-
return requestHost && requestHost
|
|
2487
|
+
return requestHost && requestHost[_DYN_LENGTH$1 ] > 0;
|
|
2363
2488
|
},
|
|
2364
2489
|
getCorrelationContext: function (responseHeader) {
|
|
2365
2490
|
if (responseHeader) {
|
|
@@ -2371,10 +2496,10 @@
|
|
|
2371
2496
|
},
|
|
2372
2497
|
getCorrelationContextValue: function (responseHeader, key) {
|
|
2373
2498
|
if (responseHeader) {
|
|
2374
|
-
var keyValues = responseHeader
|
|
2375
|
-
for (var i = 0; i < keyValues
|
|
2376
|
-
var keyValue = keyValues[i]
|
|
2377
|
-
if (keyValue
|
|
2499
|
+
var keyValues = responseHeader[_DYN_SPLIT ](",");
|
|
2500
|
+
for (var i = 0; i < keyValues[_DYN_LENGTH$1 ]; ++i) {
|
|
2501
|
+
var keyValue = keyValues[i][_DYN_SPLIT ]("=");
|
|
2502
|
+
if (keyValue[_DYN_LENGTH$1 ] === 2 && keyValue[0] === key) {
|
|
2378
2503
|
return keyValue[1];
|
|
2379
2504
|
}
|
|
2380
2505
|
}
|
|
@@ -2383,16 +2508,16 @@
|
|
|
2383
2508
|
};
|
|
2384
2509
|
function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {
|
|
2385
2510
|
var target, name = commandName, data = commandName;
|
|
2386
|
-
if (absoluteUrl && absoluteUrl
|
|
2511
|
+
if (absoluteUrl && absoluteUrl[_DYN_LENGTH$1 ] > 0) {
|
|
2387
2512
|
var parsedUrl = urlParseUrl(absoluteUrl);
|
|
2388
2513
|
target = parsedUrl.host;
|
|
2389
2514
|
if (!name) {
|
|
2390
|
-
if (parsedUrl
|
|
2391
|
-
var pathName = (parsedUrl.pathname
|
|
2515
|
+
if (parsedUrl[_DYN_PATHNAME ] != null) {
|
|
2516
|
+
var pathName = (parsedUrl.pathname[_DYN_LENGTH$1 ] === 0) ? "/" : parsedUrl[_DYN_PATHNAME ];
|
|
2392
2517
|
if (pathName.charAt(0) !== "/") {
|
|
2393
2518
|
pathName = "/" + pathName;
|
|
2394
2519
|
}
|
|
2395
|
-
data = parsedUrl
|
|
2520
|
+
data = parsedUrl[_DYN_PATHNAME ];
|
|
2396
2521
|
name = dataSanitizeString(logger, method ? method + " " + pathName : pathName);
|
|
2397
2522
|
}
|
|
2398
2523
|
else {
|
|
@@ -2431,11 +2556,11 @@
|
|
|
2431
2556
|
var trace = telemetryTrace || {};
|
|
2432
2557
|
return {
|
|
2433
2558
|
getName: function () {
|
|
2434
|
-
return trace
|
|
2559
|
+
return trace[_DYN_NAME$1 ];
|
|
2435
2560
|
},
|
|
2436
2561
|
setName: function (newValue) {
|
|
2437
2562
|
parentCtx && parentCtx.setName(newValue);
|
|
2438
|
-
trace
|
|
2563
|
+
trace[_DYN_NAME$1 ] = newValue;
|
|
2439
2564
|
},
|
|
2440
2565
|
getTraceId: function () {
|
|
2441
2566
|
return trace.traceID;
|
|
@@ -2494,7 +2619,7 @@
|
|
|
2494
2619
|
var _self = this;
|
|
2495
2620
|
_self.ver = 2;
|
|
2496
2621
|
_self.id = id;
|
|
2497
|
-
_self
|
|
2622
|
+
_self[_DYN_DURATION ] = msToTimeSpan(value);
|
|
2498
2623
|
_self.success = success;
|
|
2499
2624
|
_self.resultCode = resultCode + "";
|
|
2500
2625
|
_self.type = dataSanitizeString(logger, requestAPI);
|
|
@@ -2504,9 +2629,9 @@
|
|
|
2504
2629
|
if (correlationContext) {
|
|
2505
2630
|
_self.target = "".concat(_self.target, " | ").concat(correlationContext);
|
|
2506
2631
|
}
|
|
2507
|
-
_self
|
|
2508
|
-
_self
|
|
2509
|
-
_self
|
|
2632
|
+
_self[_DYN_NAME$1 ] = dataSanitizeString(logger, dependencyFields[_DYN_NAME$1 ]);
|
|
2633
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
2634
|
+
_self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
|
|
2510
2635
|
}
|
|
2511
2636
|
RemoteDependencyData.envelopeType = "Microsoft.ApplicationInsights.{0}.RemoteDependency";
|
|
2512
2637
|
RemoteDependencyData.dataType = "RemoteDependencyData";
|
|
@@ -2514,6 +2639,7 @@
|
|
|
2514
2639
|
}());
|
|
2515
2640
|
|
|
2516
2641
|
function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {
|
|
2642
|
+
var _a;
|
|
2517
2643
|
envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;
|
|
2518
2644
|
if (isNullOrUndefined(item) ||
|
|
2519
2645
|
isNullOrUndefined(baseType) ||
|
|
@@ -2525,16 +2651,17 @@
|
|
|
2525
2651
|
iKey = item[strIkey];
|
|
2526
2652
|
delete item[strIkey];
|
|
2527
2653
|
}
|
|
2528
|
-
var telemetryItem = {
|
|
2529
|
-
|
|
2530
|
-
time
|
|
2531
|
-
iKey
|
|
2532
|
-
ext
|
|
2533
|
-
tags
|
|
2534
|
-
data
|
|
2535
|
-
baseType
|
|
2536
|
-
baseData
|
|
2537
|
-
|
|
2654
|
+
var telemetryItem = (_a = {},
|
|
2655
|
+
_a[_DYN_NAME$1 ] = envelopeName,
|
|
2656
|
+
_a.time = toISOString(new Date()),
|
|
2657
|
+
_a.iKey = iKey,
|
|
2658
|
+
_a.ext = systemProperties ? systemProperties : {},
|
|
2659
|
+
_a.tags = [],
|
|
2660
|
+
_a.data = {},
|
|
2661
|
+
_a.baseType = baseType,
|
|
2662
|
+
_a.baseData = item
|
|
2663
|
+
,
|
|
2664
|
+
_a);
|
|
2538
2665
|
if (!isNullOrUndefined(customProperties)) {
|
|
2539
2666
|
objForEachKey(customProperties, function (prop, value) {
|
|
2540
2667
|
telemetryItem.data[prop] = value;
|
|
@@ -2545,7 +2672,60 @@
|
|
|
2545
2672
|
|
|
2546
2673
|
var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
|
|
2547
2674
|
|
|
2548
|
-
var
|
|
2675
|
+
var STR_DURATION = "duration";
|
|
2676
|
+
var STR_PROPERTIES = "properties";
|
|
2677
|
+
|
|
2678
|
+
var _DYN_REQUEST_URL = "requestUrl";
|
|
2679
|
+
var _DYN_INST = "inst";
|
|
2680
|
+
var _DYN_LENGTH = "length";
|
|
2681
|
+
var _DYN_TRACE_ID = "traceID";
|
|
2682
|
+
var _DYN_SPAN_ID = "spanID";
|
|
2683
|
+
var _DYN_TRACE_FLAGS = "traceFlags";
|
|
2684
|
+
var _DYN_CORE = "core";
|
|
2685
|
+
var _DYN_GET_DEFAULT_CONFIG = "getDefaultConfig";
|
|
2686
|
+
var _DYN_INCLUDE_CORRELATION_0 = "includeCorrelationHeaders";
|
|
2687
|
+
var _DYN_CAN_INCLUDE_CORRELAT1 = "canIncludeCorrelationHeader";
|
|
2688
|
+
var _DYN_GET_ABSOLUTE_URL = "getAbsoluteUrl";
|
|
2689
|
+
var _DYN_HEADERS = "headers";
|
|
2690
|
+
var _DYN_REQUEST_HEADERS = "requestHeaders";
|
|
2691
|
+
var _DYN_APP_ID = "appId";
|
|
2692
|
+
var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
|
|
2693
|
+
var _DYN_DISTRIBUTED_TRACING_2 = "distributedTracingMode";
|
|
2694
|
+
var _DYN_START_TIME = "startTime";
|
|
2695
|
+
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
2696
|
+
var _DYN_ENABLE_REQUEST_HEADE3 = "enableRequestHeaderTracking";
|
|
2697
|
+
var _DYN_ENABLE_AJAX_ERROR_ST4 = "enableAjaxErrorStatusText";
|
|
2698
|
+
var _DYN_ENABLE_AJAX_PERF_TRA5 = "enableAjaxPerfTracking";
|
|
2699
|
+
var _DYN_MAX_AJAX_CALLS_PER_V6 = "maxAjaxCallsPerView";
|
|
2700
|
+
var _DYN_ENABLE_RESPONSE_HEAD7 = "enableResponseHeaderTracking";
|
|
2701
|
+
var _DYN_EXCLUDE_REQUEST_FROM8 = "excludeRequestFromAutoTrackingPatterns";
|
|
2702
|
+
var _DYN_ADD_REQUEST_CONTEXT = "addRequestContext";
|
|
2703
|
+
var _DYN_DISABLE_AJAX_TRACKIN9 = "disableAjaxTracking";
|
|
2704
|
+
var _DYN_DISABLE_FETCH_TRACKI10 = "disableFetchTracking";
|
|
2705
|
+
var _DYN_STATUS = "status";
|
|
2706
|
+
var _DYN_STATUS_TEXT = "statusText";
|
|
2707
|
+
var _DYN_HEADER_MAP = "headerMap";
|
|
2708
|
+
var _DYN_OPEN_DONE = "openDone";
|
|
2709
|
+
var _DYN_SEND_DONE = "sendDone";
|
|
2710
|
+
var _DYN_REQUEST_SENT_TIME = "requestSentTime";
|
|
2711
|
+
var _DYN_ABORT_DONE = "abortDone";
|
|
2712
|
+
var _DYN_METHOD = "method";
|
|
2713
|
+
var _DYN_ERROR_STATUS_TEXT = "errorStatusText";
|
|
2714
|
+
var _DYN_STATE_CHANGE_ATTACHE11 = "stateChangeAttached";
|
|
2715
|
+
var _DYN_RESPONSE_TEXT = "responseText";
|
|
2716
|
+
var _DYN_RESPONSE_FINISHED_TI12 = "responseFinishedTime";
|
|
2717
|
+
var _DYN__CREATE_TRACK_ITEM = "CreateTrackItem";
|
|
2718
|
+
var _DYN_RESPONSE = "response";
|
|
2719
|
+
var _DYN_GET_ALL_RESPONSE_HEA13 = "getAllResponseHeaders";
|
|
2720
|
+
var _DYN_GET_CORRELATION_CONT14 = "getCorrelationContext";
|
|
2721
|
+
var _DYN_PERF_MARK = "perfMark";
|
|
2722
|
+
var _DYN_AJAX_PERF_LOOKUP_DEL15 = "ajaxPerfLookupDelay";
|
|
2723
|
+
var _DYN_NAME = "name";
|
|
2724
|
+
var _DYN_PERF_TIMING = "perfTiming";
|
|
2725
|
+
var _DYN_AJAX_DIAGNOSTICS_MES16 = "ajaxDiagnosticsMessage";
|
|
2726
|
+
var _DYN_CORRELATION_CONTEXT = "correlationContext";
|
|
2727
|
+
var _DYN_AJAX_TOTAL_DURATION = "ajaxTotalDuration";
|
|
2728
|
+
|
|
2549
2729
|
function _calcPerfDuration(resourceEntry, start, end) {
|
|
2550
2730
|
var result = 0;
|
|
2551
2731
|
var from = resourceEntry[start];
|
|
@@ -2574,8 +2754,8 @@
|
|
|
2574
2754
|
return result;
|
|
2575
2755
|
}
|
|
2576
2756
|
function _populatePerfData(ajaxData, dependency) {
|
|
2577
|
-
var resourceEntry = ajaxData
|
|
2578
|
-
var props = dependency[
|
|
2757
|
+
var resourceEntry = ajaxData[_DYN_PERF_TIMING ];
|
|
2758
|
+
var props = dependency[STR_PROPERTIES ] || {};
|
|
2579
2759
|
var propsSet = 0;
|
|
2580
2760
|
var strName = "name";
|
|
2581
2761
|
var strStart = "Start";
|
|
@@ -2585,7 +2765,6 @@
|
|
|
2585
2765
|
var strRedirect = "redirect";
|
|
2586
2766
|
var strRequest = "request";
|
|
2587
2767
|
var strResponse = "response";
|
|
2588
|
-
var strDuration = "duration";
|
|
2589
2768
|
var strStartTime = "startTime";
|
|
2590
2769
|
var strDomainLookupStart = strDomainLookup + strStart;
|
|
2591
2770
|
var strDomainLookupEnd = strDomainLookup + strEnd;
|
|
@@ -2609,11 +2788,11 @@
|
|
|
2609
2788
|
propsSet |= _setPerfDuration(props, strResponse, resourceEntry, strResponseStart, strResponseEnd);
|
|
2610
2789
|
propsSet |= _setPerfDuration(props, "networkConnect", resourceEntry, strStartTime, strConnectEnd);
|
|
2611
2790
|
propsSet |= _setPerfDuration(props, "sentRequest", resourceEntry, strRequestStart, strResponseEnd);
|
|
2612
|
-
var duration = resourceEntry[
|
|
2791
|
+
var duration = resourceEntry[STR_DURATION ];
|
|
2613
2792
|
if (!duration) {
|
|
2614
2793
|
duration = _calcPerfDuration(resourceEntry, strStartTime, strResponseEnd) || 0;
|
|
2615
2794
|
}
|
|
2616
|
-
propsSet |= _setPerfValue(props,
|
|
2795
|
+
propsSet |= _setPerfValue(props, STR_DURATION, duration);
|
|
2617
2796
|
propsSet |= _setPerfValue(props, "perfTotal", duration);
|
|
2618
2797
|
var serverTiming = resourceEntry[strServerTiming];
|
|
2619
2798
|
if (serverTiming) {
|
|
@@ -2640,22 +2819,22 @@
|
|
|
2640
2819
|
propsSet |= _setPerfValue(props, strDecodedBodySize, resourceEntry[strDecodedBodySize]);
|
|
2641
2820
|
}
|
|
2642
2821
|
else {
|
|
2643
|
-
if (ajaxData
|
|
2822
|
+
if (ajaxData[_DYN_PERF_MARK ]) {
|
|
2644
2823
|
propsSet |= _setPerfValue(props, "missing", ajaxData.perfAttempts);
|
|
2645
2824
|
}
|
|
2646
2825
|
}
|
|
2647
2826
|
if (propsSet) {
|
|
2648
|
-
dependency[
|
|
2827
|
+
dependency[STR_PROPERTIES ] = props;
|
|
2649
2828
|
}
|
|
2650
2829
|
}
|
|
2651
2830
|
var XHRMonitoringState = /** @class */ (function () {
|
|
2652
2831
|
function XHRMonitoringState() {
|
|
2653
2832
|
var self = this;
|
|
2654
|
-
self
|
|
2833
|
+
self[_DYN_OPEN_DONE ] = false;
|
|
2655
2834
|
self.setRequestHeaderDone = false;
|
|
2656
|
-
self
|
|
2657
|
-
self
|
|
2658
|
-
self
|
|
2835
|
+
self[_DYN_SEND_DONE ] = false;
|
|
2836
|
+
self[_DYN_ABORT_DONE ] = false;
|
|
2837
|
+
self[_DYN_STATE_CHANGE_ATTACHE11 ] = false;
|
|
2659
2838
|
}
|
|
2660
2839
|
return XHRMonitoringState;
|
|
2661
2840
|
}());
|
|
@@ -2664,86 +2843,86 @@
|
|
|
2664
2843
|
var self = this;
|
|
2665
2844
|
var _logger = logger;
|
|
2666
2845
|
var strResponseText = "responseText";
|
|
2667
|
-
self
|
|
2846
|
+
self[_DYN_PERF_MARK ] = null;
|
|
2668
2847
|
self.completed = false;
|
|
2669
2848
|
self.requestHeadersSize = null;
|
|
2670
|
-
self
|
|
2849
|
+
self[_DYN_REQUEST_HEADERS ] = null;
|
|
2671
2850
|
self.responseReceivingDuration = null;
|
|
2672
2851
|
self.callbackDuration = null;
|
|
2673
|
-
self
|
|
2852
|
+
self[_DYN_AJAX_TOTAL_DURATION ] = null;
|
|
2674
2853
|
self.aborted = 0;
|
|
2675
2854
|
self.pageUrl = null;
|
|
2676
|
-
self
|
|
2855
|
+
self[_DYN_REQUEST_URL ] = null;
|
|
2677
2856
|
self.requestSize = 0;
|
|
2678
|
-
self
|
|
2679
|
-
self
|
|
2680
|
-
self
|
|
2857
|
+
self[_DYN_METHOD ] = null;
|
|
2858
|
+
self[_DYN_STATUS ] = null;
|
|
2859
|
+
self[_DYN_REQUEST_SENT_TIME ] = null;
|
|
2681
2860
|
self.responseStartedTime = null;
|
|
2682
|
-
self
|
|
2861
|
+
self[_DYN_RESPONSE_FINISHED_TI12 ] = null;
|
|
2683
2862
|
self.callbackFinishedTime = null;
|
|
2684
2863
|
self.endTime = null;
|
|
2685
2864
|
self.xhrMonitoringState = new XHRMonitoringState();
|
|
2686
2865
|
self.clientFailure = 0;
|
|
2687
|
-
self
|
|
2688
|
-
self
|
|
2866
|
+
self[_DYN_TRACE_ID ] = traceID;
|
|
2867
|
+
self[_DYN_SPAN_ID ] = spanID;
|
|
2689
2868
|
dynamicProto(ajaxRecord, self, function (self) {
|
|
2690
2869
|
self.getAbsoluteUrl = function () {
|
|
2691
|
-
return self
|
|
2870
|
+
return self[_DYN_REQUEST_URL ] ? urlGetAbsoluteUrl(self[_DYN_REQUEST_URL ]) : null;
|
|
2692
2871
|
};
|
|
2693
2872
|
self.getPathName = function () {
|
|
2694
|
-
return self
|
|
2873
|
+
return self[_DYN_REQUEST_URL ] ? dataSanitizeUrl(_logger, urlGetCompleteUrl(self[_DYN_METHOD ], self[_DYN_REQUEST_URL ])) : null;
|
|
2695
2874
|
};
|
|
2696
|
-
self
|
|
2875
|
+
self[_DYN__CREATE_TRACK_ITEM ] = function (ajaxType, enableRequestHeaderTracking, getResponse) {
|
|
2697
2876
|
var _a;
|
|
2698
2877
|
self.ajaxTotalDuration = Math.round(dateTimeUtilsDuration(self.requestSentTime, self.responseFinishedTime) * 1000) / 1000;
|
|
2699
|
-
if (self
|
|
2878
|
+
if (self[_DYN_AJAX_TOTAL_DURATION ] < 0) {
|
|
2700
2879
|
return null;
|
|
2701
2880
|
}
|
|
2702
2881
|
var dependency = (_a = {
|
|
2703
|
-
id: "|" + self
|
|
2704
|
-
target: self
|
|
2705
|
-
name: self.getPathName(),
|
|
2706
|
-
type: ajaxType,
|
|
2707
|
-
startTime: null,
|
|
2708
|
-
duration: self.ajaxTotalDuration,
|
|
2709
|
-
success: (+(self.status)) >= 200 && (+(self.status)) < 400,
|
|
2710
|
-
responseCode: (+(self.status)),
|
|
2711
|
-
method: self.method
|
|
2882
|
+
id: "|" + self[_DYN_TRACE_ID ] + "." + self[_DYN_SPAN_ID ],
|
|
2883
|
+
target: self[_DYN_GET_ABSOLUTE_URL ]()
|
|
2712
2884
|
},
|
|
2713
|
-
_a[
|
|
2885
|
+
_a[_DYN_NAME ] = self.getPathName(),
|
|
2886
|
+
_a.type = ajaxType,
|
|
2887
|
+
_a[_DYN_START_TIME ] = null,
|
|
2888
|
+
_a.duration = self[_DYN_AJAX_TOTAL_DURATION ],
|
|
2889
|
+
_a.success = (+(self[_DYN_STATUS ])) >= 200 && (+(self[_DYN_STATUS ])) < 400,
|
|
2890
|
+
_a.responseCode = (+(self[_DYN_STATUS ])),
|
|
2891
|
+
_a.method = self[_DYN_METHOD ],
|
|
2892
|
+
_a[STR_PROPERTIES] = { HttpMethod: self[_DYN_METHOD ] },
|
|
2714
2893
|
_a);
|
|
2715
|
-
if (self
|
|
2716
|
-
dependency
|
|
2717
|
-
dependency.
|
|
2894
|
+
if (self[_DYN_REQUEST_SENT_TIME ]) {
|
|
2895
|
+
dependency[_DYN_START_TIME ] = new Date();
|
|
2896
|
+
dependency[_DYN_START_TIME ].setTime(self[_DYN_REQUEST_SENT_TIME ]);
|
|
2718
2897
|
}
|
|
2719
2898
|
_populatePerfData(self, dependency);
|
|
2720
2899
|
if (enableRequestHeaderTracking) {
|
|
2721
|
-
if (objKeys(self.requestHeaders)
|
|
2722
|
-
dependency[
|
|
2723
|
-
|
|
2900
|
+
if (objKeys(self.requestHeaders)[_DYN_LENGTH ] > 0) {
|
|
2901
|
+
var props = dependency[STR_PROPERTIES ] = dependency[STR_PROPERTIES ] || {};
|
|
2902
|
+
props[_DYN_REQUEST_HEADERS ] = self[_DYN_REQUEST_HEADERS ];
|
|
2724
2903
|
}
|
|
2725
2904
|
}
|
|
2726
2905
|
if (getResponse) {
|
|
2727
2906
|
var response = getResponse();
|
|
2728
2907
|
if (response) {
|
|
2729
|
-
var correlationContext = response
|
|
2908
|
+
var correlationContext = response[_DYN_CORRELATION_CONTEXT ];
|
|
2730
2909
|
if (correlationContext) {
|
|
2731
2910
|
dependency.correlationContext = correlationContext;
|
|
2732
2911
|
}
|
|
2733
|
-
if (response
|
|
2734
|
-
if (objKeys(response.headerMap)
|
|
2735
|
-
dependency[
|
|
2736
|
-
|
|
2912
|
+
if (response[_DYN_HEADER_MAP ]) {
|
|
2913
|
+
if (objKeys(response.headerMap)[_DYN_LENGTH ] > 0) {
|
|
2914
|
+
var props = dependency[STR_PROPERTIES ] = dependency[STR_PROPERTIES ] || {};
|
|
2915
|
+
props.responseHeaders = response[_DYN_HEADER_MAP ];
|
|
2737
2916
|
}
|
|
2738
2917
|
}
|
|
2739
|
-
if (self.errorStatusText && self
|
|
2918
|
+
if (self.errorStatusText && self[_DYN_STATUS ] >= 400) {
|
|
2740
2919
|
var responseType = response.type;
|
|
2741
|
-
dependency[
|
|
2920
|
+
var props = dependency[STR_PROPERTIES ] = dependency[STR_PROPERTIES ] || {};
|
|
2742
2921
|
if (responseType === "" || responseType === "text") {
|
|
2743
|
-
|
|
2922
|
+
props.responseText = response.responseText ? response[_DYN_STATUS_TEXT ] + " - " + response[strResponseText] : response[_DYN_STATUS_TEXT ];
|
|
2744
2923
|
}
|
|
2745
2924
|
if (responseType === "json") {
|
|
2746
|
-
|
|
2925
|
+
props.responseText = response.response ? response[_DYN_STATUS_TEXT ] + " - " + JSON.stringify(response[_DYN_RESPONSE ]) : response[_DYN_STATUS_TEXT ];
|
|
2747
2926
|
}
|
|
2748
2927
|
}
|
|
2749
2928
|
}
|
|
@@ -2806,8 +2985,8 @@
|
|
|
2806
2985
|
try {
|
|
2807
2986
|
if (!isNullOrUndefined(xhr) &&
|
|
2808
2987
|
!isNullOrUndefined(xhr[strAjaxData]) &&
|
|
2809
|
-
!isNullOrUndefined(xhr[strAjaxData]
|
|
2810
|
-
result += "(url: '" + xhr[strAjaxData]
|
|
2988
|
+
!isNullOrUndefined(xhr[strAjaxData][_DYN_REQUEST_URL ])) {
|
|
2989
|
+
result += "(url: '" + xhr[strAjaxData][_DYN_REQUEST_URL ] + "')";
|
|
2811
2990
|
}
|
|
2812
2991
|
}
|
|
2813
2992
|
catch (e) {
|
|
@@ -2823,7 +3002,7 @@
|
|
|
2823
3002
|
function _createErrorCallbackFunc(ajaxMonitorInstance, internalMessage, message) {
|
|
2824
3003
|
return function (args) {
|
|
2825
3004
|
_throwInternalCritical(ajaxMonitorInstance, internalMessage, message, {
|
|
2826
|
-
ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(args
|
|
3005
|
+
ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(args[_DYN_INST ]),
|
|
2827
3006
|
exception: dumpObj(args.err)
|
|
2828
3007
|
});
|
|
2829
3008
|
};
|
|
@@ -2835,17 +3014,18 @@
|
|
|
2835
3014
|
return -1;
|
|
2836
3015
|
}
|
|
2837
3016
|
function _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {
|
|
2838
|
-
var
|
|
3017
|
+
var _a;
|
|
3018
|
+
var initializersCount = listeners[_DYN_LENGTH ];
|
|
2839
3019
|
if (initializersCount > 0) {
|
|
2840
|
-
var details = {
|
|
2841
|
-
|
|
2842
|
-
xhr
|
|
2843
|
-
input
|
|
2844
|
-
init
|
|
2845
|
-
traceId
|
|
2846
|
-
spanId
|
|
2847
|
-
traceFlags
|
|
2848
|
-
|
|
3020
|
+
var details = (_a = {},
|
|
3021
|
+
_a[_DYN_CORE ] = core,
|
|
3022
|
+
_a.xhr = xhr,
|
|
3023
|
+
_a.input = input,
|
|
3024
|
+
_a.init = init,
|
|
3025
|
+
_a.traceId = ajaxData[_DYN_TRACE_ID ],
|
|
3026
|
+
_a.spanId = ajaxData[_DYN_SPAN_ID ],
|
|
3027
|
+
_a.traceFlags = ajaxData[_DYN_TRACE_FLAGS ],
|
|
3028
|
+
_a);
|
|
2849
3029
|
for (var i = 0; i < initializersCount; ++i) {
|
|
2850
3030
|
var dependencyListener = listeners[i];
|
|
2851
3031
|
if (dependencyListener && dependencyListener.fn) {
|
|
@@ -2853,16 +3033,22 @@
|
|
|
2853
3033
|
dependencyListener.fn.call(null, details);
|
|
2854
3034
|
}
|
|
2855
3035
|
catch (e) {
|
|
2856
|
-
var core_1 = details
|
|
3036
|
+
var core_1 = details[_DYN_CORE ];
|
|
2857
3037
|
_throwInternal(core_1 && core_1.logger, 1 , 64 , "Dependency listener [#" + i + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
|
|
2858
3038
|
}
|
|
2859
3039
|
}
|
|
2860
3040
|
}
|
|
2861
|
-
ajaxData
|
|
2862
|
-
ajaxData
|
|
2863
|
-
ajaxData
|
|
3041
|
+
ajaxData[_DYN_TRACE_ID ] = details.traceId;
|
|
3042
|
+
ajaxData[_DYN_SPAN_ID ] = details.spanId;
|
|
3043
|
+
ajaxData[_DYN_TRACE_FLAGS ] = details[_DYN_TRACE_FLAGS ];
|
|
2864
3044
|
}
|
|
2865
3045
|
}
|
|
3046
|
+
var DfltAjaxCorrelationHeaderExDomains = deepFreeze([
|
|
3047
|
+
"*.blob.core.windows.net",
|
|
3048
|
+
"*.blob.core.chinacloudapi.cn",
|
|
3049
|
+
"*.blob.core.cloudapi.de",
|
|
3050
|
+
"*.blob.core.usgovcloudapi.net"
|
|
3051
|
+
]);
|
|
2866
3052
|
var AjaxMonitor = /** @class */ (function (_super) {
|
|
2867
3053
|
__extendsFn(AjaxMonitor, _super);
|
|
2868
3054
|
function AjaxMonitor() {
|
|
@@ -2910,68 +3096,69 @@
|
|
|
2910
3096
|
_self.trackDependencyData = function (dependency, properties) {
|
|
2911
3097
|
_self[strTrackDependencyDataInternal](dependency, properties);
|
|
2912
3098
|
};
|
|
2913
|
-
_self
|
|
3099
|
+
_self[_DYN_INCLUDE_CORRELATION_0 ] = function (ajaxData, input, init, xhr) {
|
|
2914
3100
|
var currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost;
|
|
2915
|
-
_processDependencyListeners(_dependencyListeners, _self
|
|
3101
|
+
_processDependencyListeners(_dependencyListeners, _self[_DYN_CORE ], ajaxData, xhr, input, init);
|
|
2916
3102
|
if (input) {
|
|
2917
|
-
if (CorrelationIdHelper
|
|
3103
|
+
if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT1 ](_config, ajaxData[_DYN_GET_ABSOLUTE_URL ](), currentWindowHost)) {
|
|
2918
3104
|
if (!init) {
|
|
2919
3105
|
init = {};
|
|
2920
3106
|
}
|
|
2921
|
-
|
|
3107
|
+
var headers = new Headers(init[_DYN_HEADERS ] || (input instanceof Request ? (input[_DYN_HEADERS ] || {}) : {}));
|
|
2922
3108
|
if (_isUsingAIHeaders) {
|
|
2923
|
-
var id = "|" + ajaxData
|
|
2924
|
-
|
|
3109
|
+
var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
|
|
3110
|
+
headers.set(RequestHeaders[3 ], id);
|
|
2925
3111
|
if (_enableRequestHeaderTracking) {
|
|
2926
|
-
ajaxData
|
|
3112
|
+
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
|
|
2927
3113
|
}
|
|
2928
3114
|
}
|
|
2929
|
-
var appId = _config
|
|
3115
|
+
var appId = _config[_DYN_APP_ID ] || (_context && _context[_DYN_APP_ID ]());
|
|
2930
3116
|
if (appId) {
|
|
2931
|
-
|
|
3117
|
+
headers.set(RequestHeaders[0 ], RequestHeaders[2 ] + appId);
|
|
2932
3118
|
if (_enableRequestHeaderTracking) {
|
|
2933
|
-
ajaxData
|
|
3119
|
+
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[0 ]] = RequestHeaders[2 ] + appId;
|
|
2934
3120
|
}
|
|
2935
3121
|
}
|
|
2936
3122
|
if (_isUsingW3CHeaders) {
|
|
2937
|
-
var traceFlags = ajaxData
|
|
3123
|
+
var traceFlags = ajaxData[_DYN_TRACE_FLAGS ];
|
|
2938
3124
|
if (isNullOrUndefined(traceFlags)) {
|
|
2939
3125
|
traceFlags = 0x01;
|
|
2940
3126
|
}
|
|
2941
|
-
var traceParent = formatTraceParent(createTraceParent(ajaxData
|
|
2942
|
-
|
|
3127
|
+
var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID ], ajaxData[_DYN_SPAN_ID ], traceFlags));
|
|
3128
|
+
headers.set(RequestHeaders[4 ], traceParent);
|
|
2943
3129
|
if (_enableRequestHeaderTracking) {
|
|
2944
|
-
ajaxData
|
|
3130
|
+
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[4 ]] = traceParent;
|
|
2945
3131
|
}
|
|
2946
3132
|
}
|
|
3133
|
+
init[_DYN_HEADERS ] = headers;
|
|
2947
3134
|
}
|
|
2948
3135
|
return init;
|
|
2949
3136
|
}
|
|
2950
3137
|
else if (xhr) {
|
|
2951
|
-
if (CorrelationIdHelper
|
|
3138
|
+
if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT1 ](_config, ajaxData[_DYN_GET_ABSOLUTE_URL ](), currentWindowHost)) {
|
|
2952
3139
|
if (_isUsingAIHeaders) {
|
|
2953
|
-
var id = "|" + ajaxData
|
|
2954
|
-
xhr
|
|
3140
|
+
var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
|
|
3141
|
+
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[3 ], id);
|
|
2955
3142
|
if (_enableRequestHeaderTracking) {
|
|
2956
|
-
ajaxData
|
|
3143
|
+
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
|
|
2957
3144
|
}
|
|
2958
3145
|
}
|
|
2959
|
-
var appId = _config
|
|
3146
|
+
var appId = _config[_DYN_APP_ID ] || (_context && _context[_DYN_APP_ID ]());
|
|
2960
3147
|
if (appId) {
|
|
2961
|
-
xhr
|
|
3148
|
+
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[0 ], RequestHeaders[2 ] + appId);
|
|
2962
3149
|
if (_enableRequestHeaderTracking) {
|
|
2963
|
-
ajaxData
|
|
3150
|
+
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[0 ]] = RequestHeaders[2 ] + appId;
|
|
2964
3151
|
}
|
|
2965
3152
|
}
|
|
2966
3153
|
if (_isUsingW3CHeaders) {
|
|
2967
|
-
var traceFlags = ajaxData
|
|
3154
|
+
var traceFlags = ajaxData[_DYN_TRACE_FLAGS ];
|
|
2968
3155
|
if (isNullOrUndefined(traceFlags)) {
|
|
2969
3156
|
traceFlags = 0x01;
|
|
2970
3157
|
}
|
|
2971
|
-
var traceParent = formatTraceParent(createTraceParent(ajaxData
|
|
2972
|
-
xhr
|
|
3158
|
+
var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID ], ajaxData[_DYN_SPAN_ID ], traceFlags));
|
|
3159
|
+
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[4 ], traceParent);
|
|
2973
3160
|
if (_enableRequestHeaderTracking) {
|
|
2974
|
-
ajaxData
|
|
3161
|
+
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[4 ]] = traceParent;
|
|
2975
3162
|
}
|
|
2976
3163
|
}
|
|
2977
3164
|
}
|
|
@@ -2981,16 +3168,16 @@
|
|
|
2981
3168
|
};
|
|
2982
3169
|
_self[strTrackDependencyDataInternal] = function (dependency, properties, systemProperties) {
|
|
2983
3170
|
if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {
|
|
2984
|
-
if ((_config
|
|
2985
|
-
|| _config
|
|
2986
|
-
&& typeof dependency.id === "string" && dependency.id[dependency.id
|
|
3171
|
+
if ((_config[_DYN_DISTRIBUTED_TRACING_2 ] === 2
|
|
3172
|
+
|| _config[_DYN_DISTRIBUTED_TRACING_2 ] === 1 )
|
|
3173
|
+
&& typeof dependency.id === "string" && dependency.id[dependency.id[_DYN_LENGTH ] - 1] !== ".") {
|
|
2987
3174
|
dependency.id += ".";
|
|
2988
3175
|
}
|
|
2989
|
-
if (isNullOrUndefined(dependency
|
|
2990
|
-
dependency
|
|
3176
|
+
if (isNullOrUndefined(dependency[_DYN_START_TIME ])) {
|
|
3177
|
+
dependency[_DYN_START_TIME ] = new Date();
|
|
2991
3178
|
}
|
|
2992
3179
|
var item = createTelemetryItem(dependency, RemoteDependencyData.dataType, RemoteDependencyData.envelopeType, _self[strDiagLog](), properties, systemProperties);
|
|
2993
|
-
_self.
|
|
3180
|
+
_self[_DYN_CORE ].track(item);
|
|
2994
3181
|
}
|
|
2995
3182
|
else if (_trackAjaxAttempts === _maxAjaxCallsPerView) {
|
|
2996
3183
|
_throwInternalCritical(_self, 55 , "Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter.", true);
|
|
@@ -3019,7 +3206,7 @@
|
|
|
3019
3206
|
var location = getLocation();
|
|
3020
3207
|
_fetchInitialized = false;
|
|
3021
3208
|
_xhrInitialized = false;
|
|
3022
|
-
_currentWindowHost = location && location.host && location.host
|
|
3209
|
+
_currentWindowHost = location && location.host && location.host[_DYN_TO_LOWER_CASE ]();
|
|
3023
3210
|
_config = AjaxMonitor.getEmptyConfig();
|
|
3024
3211
|
_enableRequestHeaderTracking = false;
|
|
3025
3212
|
_enableAjaxErrorStatusText = false;
|
|
@@ -3041,36 +3228,36 @@
|
|
|
3041
3228
|
_dependencyListeners = [];
|
|
3042
3229
|
}
|
|
3043
3230
|
function _populateDefaults(config) {
|
|
3044
|
-
var ctx = createProcessTelemetryContext(null, config, _self
|
|
3231
|
+
var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
|
|
3045
3232
|
_config = AjaxMonitor.getEmptyConfig();
|
|
3046
|
-
var defaultConfig = AjaxMonitor
|
|
3233
|
+
var defaultConfig = AjaxMonitor[_DYN_GET_DEFAULT_CONFIG ]();
|
|
3047
3234
|
objForEachKey(defaultConfig, function (field, value) {
|
|
3048
3235
|
_config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);
|
|
3049
3236
|
});
|
|
3050
|
-
var distributedTracingMode = _config
|
|
3051
|
-
_enableRequestHeaderTracking = _config
|
|
3052
|
-
_enableAjaxErrorStatusText = _config
|
|
3053
|
-
_enableAjaxPerfTracking = _config
|
|
3054
|
-
_maxAjaxCallsPerView = _config
|
|
3055
|
-
_enableResponseHeaderTracking = _config
|
|
3056
|
-
_excludeRequestFromAutoTrackingPatterns = _config
|
|
3057
|
-
_addRequestContext = _config
|
|
3237
|
+
var distributedTracingMode = _config[_DYN_DISTRIBUTED_TRACING_2 ];
|
|
3238
|
+
_enableRequestHeaderTracking = _config[_DYN_ENABLE_REQUEST_HEADE3 ];
|
|
3239
|
+
_enableAjaxErrorStatusText = _config[_DYN_ENABLE_AJAX_ERROR_ST4 ];
|
|
3240
|
+
_enableAjaxPerfTracking = _config[_DYN_ENABLE_AJAX_PERF_TRA5 ];
|
|
3241
|
+
_maxAjaxCallsPerView = _config[_DYN_MAX_AJAX_CALLS_PER_V6 ];
|
|
3242
|
+
_enableResponseHeaderTracking = _config[_DYN_ENABLE_RESPONSE_HEAD7 ];
|
|
3243
|
+
_excludeRequestFromAutoTrackingPatterns = _config[_DYN_EXCLUDE_REQUEST_FROM8 ];
|
|
3244
|
+
_addRequestContext = _config[_DYN_ADD_REQUEST_CONTEXT ];
|
|
3058
3245
|
_isUsingAIHeaders = distributedTracingMode === 0 || distributedTracingMode === 1 ;
|
|
3059
3246
|
_isUsingW3CHeaders = distributedTracingMode === 1 || distributedTracingMode === 2 ;
|
|
3060
3247
|
if (_enableAjaxPerfTracking) {
|
|
3061
3248
|
var iKey = config.instrumentationKey || "unkwn";
|
|
3062
|
-
if (iKey
|
|
3063
|
-
_markPrefix = AJAX_MONITOR_PREFIX + iKey.substring(iKey
|
|
3249
|
+
if (iKey[_DYN_LENGTH ] > 5) {
|
|
3250
|
+
_markPrefix = AJAX_MONITOR_PREFIX + iKey.substring(iKey[_DYN_LENGTH ] - 5) + ".";
|
|
3064
3251
|
}
|
|
3065
3252
|
else {
|
|
3066
3253
|
_markPrefix = AJAX_MONITOR_PREFIX + iKey + ".";
|
|
3067
3254
|
}
|
|
3068
3255
|
}
|
|
3069
|
-
_disableAjaxTracking = !!_config
|
|
3070
|
-
_disableFetchTracking = !!_config
|
|
3256
|
+
_disableAjaxTracking = !!_config[_DYN_DISABLE_AJAX_TRACKIN9 ];
|
|
3257
|
+
_disableFetchTracking = !!_config[_DYN_DISABLE_FETCH_TRACKI10 ];
|
|
3071
3258
|
}
|
|
3072
3259
|
function _populateContext() {
|
|
3073
|
-
var propExt = _self.
|
|
3260
|
+
var propExt = _self[_DYN_CORE ].getPlugin(PropertiesPluginIdentifier);
|
|
3074
3261
|
if (propExt) {
|
|
3075
3262
|
_context = propExt.plugin.context;
|
|
3076
3263
|
}
|
|
@@ -3079,7 +3266,7 @@
|
|
|
3079
3266
|
var rlt = true;
|
|
3080
3267
|
if (header || _config.ignoreHeaders) {
|
|
3081
3268
|
arrForEach(_config.ignoreHeaders, (function (key) {
|
|
3082
|
-
if (key
|
|
3269
|
+
if (key[_DYN_TO_LOWER_CASE ]() === header[_DYN_TO_LOWER_CASE ]()) {
|
|
3083
3270
|
rlt = false;
|
|
3084
3271
|
return -1;
|
|
3085
3272
|
}
|
|
@@ -3104,7 +3291,7 @@
|
|
|
3104
3291
|
!(isPolyfill && _xhrInitialized)) {
|
|
3105
3292
|
var ctx = callDetails.ctx();
|
|
3106
3293
|
fetchData = _createFetchRecord(input, init);
|
|
3107
|
-
var newInit = _self
|
|
3294
|
+
var newInit = _self[_DYN_INCLUDE_CORRELATION_0 ](fetchData, input, init);
|
|
3108
3295
|
if (newInit !== init) {
|
|
3109
3296
|
callDetails.set(1, newInit);
|
|
3110
3297
|
}
|
|
@@ -3116,12 +3303,14 @@
|
|
|
3116
3303
|
var fetchData_1 = callDetails.ctx().data;
|
|
3117
3304
|
if (fetchData_1) {
|
|
3118
3305
|
callDetails.rslt = callDetails.rslt.then(function (response) {
|
|
3119
|
-
_reportFetchMetrics(callDetails, (response || {})
|
|
3120
|
-
var
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3306
|
+
_reportFetchMetrics(callDetails, (response || {})[_DYN_STATUS ], input, response, fetchData_1, function () {
|
|
3307
|
+
var _a;
|
|
3308
|
+
var ajaxResponse = (_a = {
|
|
3309
|
+
statusText: response[_DYN_STATUS_TEXT ]
|
|
3310
|
+
},
|
|
3311
|
+
_a[_DYN_HEADER_MAP ] = null,
|
|
3312
|
+
_a[_DYN_CORRELATION_CONTEXT ] = _getFetchCorrelationContext(response),
|
|
3313
|
+
_a);
|
|
3125
3314
|
if (_enableResponseHeaderTracking) {
|
|
3126
3315
|
var responseHeaderMap_1 = {};
|
|
3127
3316
|
response.headers.forEach(function (value, name) {
|
|
@@ -3129,7 +3318,7 @@
|
|
|
3129
3318
|
responseHeaderMap_1[name] = value;
|
|
3130
3319
|
}
|
|
3131
3320
|
});
|
|
3132
|
-
ajaxResponse
|
|
3321
|
+
ajaxResponse[_DYN_HEADER_MAP ] = responseHeaderMap_1;
|
|
3133
3322
|
}
|
|
3134
3323
|
return ajaxResponse;
|
|
3135
3324
|
});
|
|
@@ -3166,10 +3355,10 @@
|
|
|
3166
3355
|
ns: _evtNamespace,
|
|
3167
3356
|
req: function (args, method, url, async) {
|
|
3168
3357
|
if (!_disableAjaxTracking) {
|
|
3169
|
-
var xhr = args
|
|
3358
|
+
var xhr = args[_DYN_INST ];
|
|
3170
3359
|
var ajaxData = xhr[strAjaxData];
|
|
3171
3360
|
if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, true)) {
|
|
3172
|
-
if (!ajaxData || !ajaxData.xhrMonitoringState
|
|
3361
|
+
if (!ajaxData || !ajaxData.xhrMonitoringState[_DYN_OPEN_DONE ]) {
|
|
3173
3362
|
_openHandler(xhr, method, url, async);
|
|
3174
3363
|
}
|
|
3175
3364
|
_attachToOnReadyStateChange(xhr);
|
|
@@ -3182,13 +3371,13 @@
|
|
|
3182
3371
|
ns: _evtNamespace,
|
|
3183
3372
|
req: function (args, context) {
|
|
3184
3373
|
if (!_disableAjaxTracking) {
|
|
3185
|
-
var xhr = args
|
|
3374
|
+
var xhr = args[_DYN_INST ];
|
|
3186
3375
|
var ajaxData = xhr[strAjaxData];
|
|
3187
|
-
if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState
|
|
3376
|
+
if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
|
|
3188
3377
|
_createMarkId("xhr", ajaxData);
|
|
3189
|
-
ajaxData
|
|
3190
|
-
_self
|
|
3191
|
-
ajaxData.xhrMonitoringState
|
|
3378
|
+
ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
|
|
3379
|
+
_self[_DYN_INCLUDE_CORRELATION_0 ](ajaxData, undefined, undefined, xhr);
|
|
3380
|
+
ajaxData.xhrMonitoringState[_DYN_SEND_DONE ] = true;
|
|
3192
3381
|
}
|
|
3193
3382
|
}
|
|
3194
3383
|
},
|
|
@@ -3198,11 +3387,11 @@
|
|
|
3198
3387
|
ns: _evtNamespace,
|
|
3199
3388
|
req: function (args) {
|
|
3200
3389
|
if (!_disableAjaxTracking) {
|
|
3201
|
-
var xhr = args
|
|
3390
|
+
var xhr = args[_DYN_INST ];
|
|
3202
3391
|
var ajaxData = xhr[strAjaxData];
|
|
3203
|
-
if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState
|
|
3392
|
+
if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE ]) {
|
|
3204
3393
|
ajaxData.aborted = 1;
|
|
3205
|
-
ajaxData.xhrMonitoringState
|
|
3394
|
+
ajaxData.xhrMonitoringState[_DYN_ABORT_DONE ] = true;
|
|
3206
3395
|
}
|
|
3207
3396
|
}
|
|
3208
3397
|
},
|
|
@@ -3212,9 +3401,9 @@
|
|
|
3212
3401
|
ns: _evtNamespace,
|
|
3213
3402
|
req: function (args, header, value) {
|
|
3214
3403
|
if (!_disableAjaxTracking && _enableRequestHeaderTracking) {
|
|
3215
|
-
var xhr = args
|
|
3404
|
+
var xhr = args[_DYN_INST ];
|
|
3216
3405
|
if (_isMonitoredXhrInstance(xhr) && _canIncludeHeaders(header)) {
|
|
3217
|
-
xhr[strAjaxData]
|
|
3406
|
+
xhr[strAjaxData][_DYN_REQUEST_HEADERS ][header] = value;
|
|
3218
3407
|
}
|
|
3219
3408
|
}
|
|
3220
3409
|
},
|
|
@@ -3225,7 +3414,7 @@
|
|
|
3225
3414
|
}
|
|
3226
3415
|
function _isDisabledRequest(xhr, request, init) {
|
|
3227
3416
|
var isDisabled = false;
|
|
3228
|
-
var theUrl = ((!isString(request) ? (request || {}).url || "" : request) || "")
|
|
3417
|
+
var theUrl = ((!isString(request) ? (request || {}).url || "" : request) || "")[_DYN_TO_LOWER_CASE ]();
|
|
3229
3418
|
arrForEach(_excludeRequestFromAutoTrackingPatterns, function (regex) {
|
|
3230
3419
|
var theRegex = regex;
|
|
3231
3420
|
if (isString(regex)) {
|
|
@@ -3279,8 +3468,8 @@
|
|
|
3279
3468
|
}
|
|
3280
3469
|
function _getDistributedTraceCtx() {
|
|
3281
3470
|
var distributedTraceCtx = null;
|
|
3282
|
-
if (_self
|
|
3283
|
-
distributedTraceCtx = _self.
|
|
3471
|
+
if (_self[_DYN_CORE ] && _self[_DYN_CORE ].getTraceCtx) {
|
|
3472
|
+
distributedTraceCtx = _self[_DYN_CORE ].getTraceCtx(false);
|
|
3284
3473
|
}
|
|
3285
3474
|
if (!distributedTraceCtx && _context && _context.telemetryTrace) {
|
|
3286
3475
|
distributedTraceCtx = createDistributedTraceContextFromTrace(_context.telemetryTrace);
|
|
@@ -3292,17 +3481,18 @@
|
|
|
3292
3481
|
var traceID = (distributedTraceCtx && distributedTraceCtx.getTraceId()) || generateW3CId();
|
|
3293
3482
|
var spanID = generateW3CId().substr(0, 16);
|
|
3294
3483
|
var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog]());
|
|
3295
|
-
ajaxData
|
|
3296
|
-
ajaxData
|
|
3297
|
-
ajaxData
|
|
3298
|
-
ajaxData.xhrMonitoringState
|
|
3299
|
-
ajaxData
|
|
3484
|
+
ajaxData[_DYN_TRACE_FLAGS ] = distributedTraceCtx && distributedTraceCtx.getTraceFlags();
|
|
3485
|
+
ajaxData[_DYN_METHOD ] = method;
|
|
3486
|
+
ajaxData[_DYN_REQUEST_URL ] = url;
|
|
3487
|
+
ajaxData.xhrMonitoringState[_DYN_OPEN_DONE ] = true;
|
|
3488
|
+
ajaxData[_DYN_REQUEST_HEADERS ] = {};
|
|
3300
3489
|
ajaxData.async = async;
|
|
3301
|
-
ajaxData
|
|
3490
|
+
ajaxData[_DYN_ERROR_STATUS_TEXT ] = _enableAjaxErrorStatusText;
|
|
3302
3491
|
xhr[strAjaxData] = ajaxData;
|
|
3303
3492
|
}
|
|
3304
3493
|
function _attachToOnReadyStateChange(xhr) {
|
|
3305
|
-
xhr[strAjaxData].xhrMonitoringState
|
|
3494
|
+
xhr[strAjaxData].xhrMonitoringState[_DYN_STATE_CHANGE_ATTACHE11 ] = eventOn(xhr, "readystatechange", function () {
|
|
3495
|
+
var _a;
|
|
3306
3496
|
try {
|
|
3307
3497
|
if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr)) {
|
|
3308
3498
|
_onAjaxComplete(xhr);
|
|
@@ -3310,11 +3500,11 @@
|
|
|
3310
3500
|
}
|
|
3311
3501
|
catch (e) {
|
|
3312
3502
|
var exceptionText = dumpObj(e);
|
|
3313
|
-
if (!exceptionText || _indexOf(exceptionText
|
|
3314
|
-
_throwInternalCritical(_self, 16 , "Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.", {
|
|
3315
|
-
|
|
3316
|
-
exception
|
|
3317
|
-
|
|
3503
|
+
if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE ](), "c00c023f") === -1) {
|
|
3504
|
+
_throwInternalCritical(_self, 16 , "Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.", (_a = {},
|
|
3505
|
+
_a[_DYN_AJAX_DIAGNOSTICS_MES16 ] = _getFailedAjaxDiagnosticsMessage(xhr),
|
|
3506
|
+
_a.exception = exceptionText,
|
|
3507
|
+
_a));
|
|
3318
3508
|
}
|
|
3319
3509
|
}
|
|
3320
3510
|
}, _evtNamespace);
|
|
@@ -3323,7 +3513,7 @@
|
|
|
3323
3513
|
try {
|
|
3324
3514
|
var responseType = xhr.responseType;
|
|
3325
3515
|
if (responseType === "" || responseType === "text") {
|
|
3326
|
-
return xhr
|
|
3516
|
+
return xhr[_DYN_RESPONSE_TEXT ];
|
|
3327
3517
|
}
|
|
3328
3518
|
}
|
|
3329
3519
|
catch (e) {
|
|
@@ -3332,8 +3522,8 @@
|
|
|
3332
3522
|
}
|
|
3333
3523
|
function _onAjaxComplete(xhr) {
|
|
3334
3524
|
var ajaxData = xhr[strAjaxData];
|
|
3335
|
-
ajaxData
|
|
3336
|
-
ajaxData
|
|
3525
|
+
ajaxData[_DYN_RESPONSE_FINISHED_TI12 ] = dateTimeUtilsNow();
|
|
3526
|
+
ajaxData[_DYN_STATUS ] = xhr[_DYN_STATUS ];
|
|
3337
3527
|
function _reportXhrError(e, failedProps) {
|
|
3338
3528
|
var errorProps = failedProps || {};
|
|
3339
3529
|
errorProps["ajaxDiagnosticsMessage"] = _getFailedAjaxDiagnosticsMessage(xhr);
|
|
@@ -3344,17 +3534,19 @@
|
|
|
3344
3534
|
}
|
|
3345
3535
|
_findPerfResourceEntry("xmlhttprequest", ajaxData, function () {
|
|
3346
3536
|
try {
|
|
3347
|
-
var dependency = ajaxData
|
|
3348
|
-
var
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3537
|
+
var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM ]("Ajax", _enableRequestHeaderTracking, function () {
|
|
3538
|
+
var _a;
|
|
3539
|
+
var ajaxResponse = (_a = {
|
|
3540
|
+
statusText: xhr[_DYN_STATUS_TEXT ]
|
|
3541
|
+
},
|
|
3542
|
+
_a[_DYN_HEADER_MAP ] = null,
|
|
3543
|
+
_a[_DYN_CORRELATION_CONTEXT ] = _getAjaxCorrelationContext(xhr),
|
|
3544
|
+
_a.type = xhr.responseType,
|
|
3545
|
+
_a[_DYN_RESPONSE_TEXT ] = _getResponseText(xhr),
|
|
3546
|
+
_a.response = xhr[_DYN_RESPONSE ],
|
|
3547
|
+
_a);
|
|
3356
3548
|
if (_enableResponseHeaderTracking) {
|
|
3357
|
-
var headers = xhr
|
|
3549
|
+
var headers = xhr[_DYN_GET_ALL_RESPONSE_HEA13 ]();
|
|
3358
3550
|
if (headers) {
|
|
3359
3551
|
var arr = strTrim(headers).split(/[\r\n]+/);
|
|
3360
3552
|
var responseHeaderMap_2 = {};
|
|
@@ -3366,7 +3558,7 @@
|
|
|
3366
3558
|
responseHeaderMap_2[header] = value;
|
|
3367
3559
|
}
|
|
3368
3560
|
});
|
|
3369
|
-
ajaxResponse
|
|
3561
|
+
ajaxResponse[_DYN_HEADER_MAP ] = responseHeaderMap_2;
|
|
3370
3562
|
}
|
|
3371
3563
|
}
|
|
3372
3564
|
return ajaxResponse;
|
|
@@ -3374,7 +3566,7 @@
|
|
|
3374
3566
|
var properties = void 0;
|
|
3375
3567
|
try {
|
|
3376
3568
|
if (!!_addRequestContext) {
|
|
3377
|
-
properties = _addRequestContext({ status: xhr
|
|
3569
|
+
properties = _addRequestContext({ status: xhr[_DYN_STATUS ], xhr: xhr });
|
|
3378
3570
|
}
|
|
3379
3571
|
}
|
|
3380
3572
|
catch (e) {
|
|
@@ -3382,14 +3574,14 @@
|
|
|
3382
3574
|
}
|
|
3383
3575
|
if (dependency) {
|
|
3384
3576
|
if (properties !== undefined) {
|
|
3385
|
-
dependency
|
|
3577
|
+
dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
|
|
3386
3578
|
}
|
|
3387
3579
|
_self[strTrackDependencyDataInternal](dependency);
|
|
3388
3580
|
}
|
|
3389
3581
|
else {
|
|
3390
3582
|
_reportXhrError(null, {
|
|
3391
|
-
requestSentTime: ajaxData
|
|
3392
|
-
responseFinishedTime: ajaxData
|
|
3583
|
+
requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME ],
|
|
3584
|
+
responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI12 ]
|
|
3393
3585
|
});
|
|
3394
3586
|
}
|
|
3395
3587
|
}
|
|
@@ -3405,43 +3597,44 @@
|
|
|
3405
3597
|
});
|
|
3406
3598
|
}
|
|
3407
3599
|
function _getAjaxCorrelationContext(xhr) {
|
|
3600
|
+
var _a;
|
|
3408
3601
|
try {
|
|
3409
|
-
var responseHeadersString = xhr
|
|
3602
|
+
var responseHeadersString = xhr[_DYN_GET_ALL_RESPONSE_HEA13 ]();
|
|
3410
3603
|
if (responseHeadersString !== null) {
|
|
3411
|
-
var index = _indexOf(responseHeadersString
|
|
3604
|
+
var index = _indexOf(responseHeadersString[_DYN_TO_LOWER_CASE ](), RequestHeaders[8 ]);
|
|
3412
3605
|
if (index !== -1) {
|
|
3413
3606
|
var responseHeader = xhr.getResponseHeader(RequestHeaders[0 ]);
|
|
3414
|
-
return CorrelationIdHelper
|
|
3607
|
+
return CorrelationIdHelper[_DYN_GET_CORRELATION_CONT14 ](responseHeader);
|
|
3415
3608
|
}
|
|
3416
3609
|
}
|
|
3417
3610
|
}
|
|
3418
3611
|
catch (e) {
|
|
3419
|
-
_throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", {
|
|
3420
|
-
|
|
3421
|
-
exception
|
|
3422
|
-
|
|
3612
|
+
_throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", (_a = {},
|
|
3613
|
+
_a[_DYN_AJAX_DIAGNOSTICS_MES16 ] = _getFailedAjaxDiagnosticsMessage(xhr),
|
|
3614
|
+
_a.exception = dumpObj(e),
|
|
3615
|
+
_a));
|
|
3423
3616
|
}
|
|
3424
3617
|
}
|
|
3425
3618
|
function _createMarkId(type, ajaxData) {
|
|
3426
|
-
if (ajaxData
|
|
3619
|
+
if (ajaxData[_DYN_REQUEST_URL ] && _markPrefix && _enableAjaxPerfTracking) {
|
|
3427
3620
|
var performance_1 = getPerformance();
|
|
3428
3621
|
if (performance_1 && isFunction(performance_1.mark)) {
|
|
3429
3622
|
_markCount++;
|
|
3430
3623
|
var markId = _markPrefix + type + "#" + _markCount;
|
|
3431
3624
|
performance_1.mark(markId);
|
|
3432
3625
|
var entries = performance_1.getEntriesByName(markId);
|
|
3433
|
-
if (entries && entries
|
|
3434
|
-
ajaxData
|
|
3626
|
+
if (entries && entries[_DYN_LENGTH ] === 1) {
|
|
3627
|
+
ajaxData[_DYN_PERF_MARK ] = entries[0];
|
|
3435
3628
|
}
|
|
3436
3629
|
}
|
|
3437
3630
|
}
|
|
3438
3631
|
}
|
|
3439
3632
|
function _findPerfResourceEntry(initiatorType, ajaxData, trackCallback, reportError) {
|
|
3440
|
-
var perfMark = ajaxData
|
|
3633
|
+
var perfMark = ajaxData[_DYN_PERF_MARK ];
|
|
3441
3634
|
var performance = getPerformance();
|
|
3442
3635
|
var maxAttempts = _config.maxAjaxPerfLookupAttempts;
|
|
3443
|
-
var retryDelay = _config
|
|
3444
|
-
var requestUrl = ajaxData
|
|
3636
|
+
var retryDelay = _config[_DYN_AJAX_PERF_LOOKUP_DEL15 ];
|
|
3637
|
+
var requestUrl = ajaxData[_DYN_REQUEST_URL ];
|
|
3445
3638
|
var attempt = 0;
|
|
3446
3639
|
(function locateResourceTiming() {
|
|
3447
3640
|
try {
|
|
@@ -3449,31 +3642,31 @@
|
|
|
3449
3642
|
attempt++;
|
|
3450
3643
|
var perfTiming = null;
|
|
3451
3644
|
var entries = performance.getEntries();
|
|
3452
|
-
for (var lp = entries
|
|
3645
|
+
for (var lp = entries[_DYN_LENGTH ] - 1; lp >= 0; lp--) {
|
|
3453
3646
|
var entry = entries[lp];
|
|
3454
3647
|
if (entry) {
|
|
3455
3648
|
if (entry.entryType === "resource") {
|
|
3456
3649
|
if (entry.initiatorType === initiatorType &&
|
|
3457
|
-
(_indexOf(entry
|
|
3650
|
+
(_indexOf(entry[_DYN_NAME ], requestUrl) !== -1 || _indexOf(requestUrl, entry[_DYN_NAME ]) !== -1)) {
|
|
3458
3651
|
perfTiming = entry;
|
|
3459
3652
|
}
|
|
3460
3653
|
}
|
|
3461
|
-
else if (entry.entryType === "mark" && entry
|
|
3462
|
-
ajaxData
|
|
3654
|
+
else if (entry.entryType === "mark" && entry[_DYN_NAME ] === perfMark[_DYN_NAME ]) {
|
|
3655
|
+
ajaxData[_DYN_PERF_TIMING ] = perfTiming;
|
|
3463
3656
|
break;
|
|
3464
3657
|
}
|
|
3465
|
-
if (entry
|
|
3658
|
+
if (entry[_DYN_START_TIME ] < perfMark[_DYN_START_TIME ] - 1000) {
|
|
3466
3659
|
break;
|
|
3467
3660
|
}
|
|
3468
3661
|
}
|
|
3469
3662
|
}
|
|
3470
3663
|
}
|
|
3471
3664
|
if (!perfMark ||
|
|
3472
|
-
ajaxData
|
|
3665
|
+
ajaxData[_DYN_PERF_TIMING ] ||
|
|
3473
3666
|
attempt >= maxAttempts ||
|
|
3474
3667
|
ajaxData.async === false) {
|
|
3475
3668
|
if (perfMark && isFunction(performance.clearMarks)) {
|
|
3476
|
-
performance.clearMarks(perfMark
|
|
3669
|
+
performance.clearMarks(perfMark[_DYN_NAME ]);
|
|
3477
3670
|
}
|
|
3478
3671
|
ajaxData.perfAttempts = attempt;
|
|
3479
3672
|
trackCallback();
|
|
@@ -3492,33 +3685,33 @@
|
|
|
3492
3685
|
var traceID = (distributedTraceCtx && distributedTraceCtx.getTraceId()) || generateW3CId();
|
|
3493
3686
|
var spanID = generateW3CId().substr(0, 16);
|
|
3494
3687
|
var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog]());
|
|
3495
|
-
ajaxData
|
|
3496
|
-
ajaxData
|
|
3497
|
-
ajaxData
|
|
3688
|
+
ajaxData[_DYN_TRACE_FLAGS ] = distributedTraceCtx && distributedTraceCtx.getTraceFlags();
|
|
3689
|
+
ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
|
|
3690
|
+
ajaxData[_DYN_ERROR_STATUS_TEXT ] = _enableAjaxErrorStatusText;
|
|
3498
3691
|
if (input instanceof Request) {
|
|
3499
|
-
ajaxData
|
|
3692
|
+
ajaxData[_DYN_REQUEST_URL ] = input ? input.url : "";
|
|
3500
3693
|
}
|
|
3501
3694
|
else {
|
|
3502
|
-
ajaxData
|
|
3695
|
+
ajaxData[_DYN_REQUEST_URL ] = input;
|
|
3503
3696
|
}
|
|
3504
3697
|
var method = "GET";
|
|
3505
|
-
if (init && init
|
|
3506
|
-
method = init
|
|
3698
|
+
if (init && init[_DYN_METHOD ]) {
|
|
3699
|
+
method = init[_DYN_METHOD ];
|
|
3507
3700
|
}
|
|
3508
3701
|
else if (input && input instanceof Request) {
|
|
3509
|
-
method = input
|
|
3702
|
+
method = input[_DYN_METHOD ];
|
|
3510
3703
|
}
|
|
3511
|
-
ajaxData
|
|
3704
|
+
ajaxData[_DYN_METHOD ] = method;
|
|
3512
3705
|
var requestHeaders = {};
|
|
3513
3706
|
if (_enableRequestHeaderTracking) {
|
|
3514
|
-
var headers = new Headers((init ? init
|
|
3707
|
+
var headers = new Headers((init ? init[_DYN_HEADERS ] : 0) || (input instanceof Request ? (input[_DYN_HEADERS ] || {}) : {}));
|
|
3515
3708
|
headers.forEach(function (value, key) {
|
|
3516
3709
|
if (_canIncludeHeaders(key)) {
|
|
3517
3710
|
requestHeaders[key] = value;
|
|
3518
3711
|
}
|
|
3519
3712
|
});
|
|
3520
3713
|
}
|
|
3521
|
-
ajaxData
|
|
3714
|
+
ajaxData[_DYN_REQUEST_HEADERS ] = requestHeaders;
|
|
3522
3715
|
_createMarkId("fetch", ajaxData);
|
|
3523
3716
|
return ajaxData;
|
|
3524
3717
|
}
|
|
@@ -3551,10 +3744,10 @@
|
|
|
3551
3744
|
}
|
|
3552
3745
|
_throwInternalWarning(_self, msgId, "Failed to calculate the duration of the fetch call, monitoring data for this fetch call won't be sent.", errorProps);
|
|
3553
3746
|
}
|
|
3554
|
-
ajaxData
|
|
3555
|
-
ajaxData
|
|
3747
|
+
ajaxData[_DYN_RESPONSE_FINISHED_TI12 ] = dateTimeUtilsNow();
|
|
3748
|
+
ajaxData[_DYN_STATUS ] = status;
|
|
3556
3749
|
_findPerfResourceEntry("fetch", ajaxData, function () {
|
|
3557
|
-
var dependency = ajaxData
|
|
3750
|
+
var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM ]("Fetch", _enableRequestHeaderTracking, getResponse);
|
|
3558
3751
|
var properties;
|
|
3559
3752
|
try {
|
|
3560
3753
|
if (!!_addRequestContext) {
|
|
@@ -3566,14 +3759,14 @@
|
|
|
3566
3759
|
}
|
|
3567
3760
|
if (dependency) {
|
|
3568
3761
|
if (properties !== undefined) {
|
|
3569
|
-
dependency
|
|
3762
|
+
dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
|
|
3570
3763
|
}
|
|
3571
3764
|
_self[strTrackDependencyDataInternal](dependency);
|
|
3572
3765
|
}
|
|
3573
3766
|
else {
|
|
3574
3767
|
_reportFetchError(14 , null, {
|
|
3575
|
-
requestSentTime: ajaxData
|
|
3576
|
-
responseFinishedTime: ajaxData
|
|
3768
|
+
requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME ],
|
|
3769
|
+
responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI12 ]
|
|
3577
3770
|
});
|
|
3578
3771
|
}
|
|
3579
3772
|
}, function (e) {
|
|
@@ -3581,10 +3774,10 @@
|
|
|
3581
3774
|
});
|
|
3582
3775
|
}
|
|
3583
3776
|
function _getFetchCorrelationContext(response) {
|
|
3584
|
-
if (response && response
|
|
3777
|
+
if (response && response[_DYN_HEADERS ]) {
|
|
3585
3778
|
try {
|
|
3586
|
-
var responseHeader = response.
|
|
3587
|
-
return CorrelationIdHelper
|
|
3779
|
+
var responseHeader = response[_DYN_HEADERS ].get(RequestHeaders[0 ]);
|
|
3780
|
+
return CorrelationIdHelper[_DYN_GET_CORRELATION_CONT14 ](responseHeader);
|
|
3588
3781
|
}
|
|
3589
3782
|
catch (e) {
|
|
3590
3783
|
_throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", {
|
|
@@ -3598,40 +3791,36 @@
|
|
|
3598
3791
|
return _this;
|
|
3599
3792
|
}
|
|
3600
3793
|
AjaxMonitor.getDefaultConfig = function () {
|
|
3601
|
-
var
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
enableAjaxPerfTracking: false,
|
|
3622
|
-
maxAjaxPerfLookupAttempts: 3,
|
|
3623
|
-
ajaxPerfLookupDelay: 25,
|
|
3624
|
-
ignoreHeaders: [
|
|
3794
|
+
var _a;
|
|
3795
|
+
var config = (_a = {},
|
|
3796
|
+
_a[_DYN_MAX_AJAX_CALLS_PER_V6 ] = 500,
|
|
3797
|
+
_a[_DYN_DISABLE_AJAX_TRACKIN9 ] = false,
|
|
3798
|
+
_a[_DYN_DISABLE_FETCH_TRACKI10 ] = false,
|
|
3799
|
+
_a[_DYN_EXCLUDE_REQUEST_FROM8 ] = undefined,
|
|
3800
|
+
_a.disableCorrelationHeaders = false,
|
|
3801
|
+
_a.distributedTracingMode = 1 ,
|
|
3802
|
+
_a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
|
|
3803
|
+
_a.correlationHeaderDomains = undefined,
|
|
3804
|
+
_a.correlationHeaderExcludePatterns = undefined,
|
|
3805
|
+
_a[_DYN_APP_ID ] = undefined,
|
|
3806
|
+
_a.enableCorsCorrelation = false,
|
|
3807
|
+
_a[_DYN_ENABLE_REQUEST_HEADE3 ] = false,
|
|
3808
|
+
_a[_DYN_ENABLE_RESPONSE_HEAD7 ] = false,
|
|
3809
|
+
_a[_DYN_ENABLE_AJAX_ERROR_ST4 ] = false,
|
|
3810
|
+
_a[_DYN_ENABLE_AJAX_PERF_TRA5 ] = false,
|
|
3811
|
+
_a.maxAjaxPerfLookupAttempts = 3,
|
|
3812
|
+
_a[_DYN_AJAX_PERF_LOOKUP_DEL15 ] = 25,
|
|
3813
|
+
_a.ignoreHeaders = [
|
|
3625
3814
|
"Authorization",
|
|
3626
3815
|
"X-API-Key",
|
|
3627
3816
|
"WWW-Authenticate"
|
|
3628
3817
|
],
|
|
3629
|
-
|
|
3630
|
-
|
|
3818
|
+
_a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
|
|
3819
|
+
_a);
|
|
3631
3820
|
return config;
|
|
3632
3821
|
};
|
|
3633
3822
|
AjaxMonitor.getEmptyConfig = function () {
|
|
3634
|
-
var emptyConfig = this
|
|
3823
|
+
var emptyConfig = this[_DYN_GET_DEFAULT_CONFIG ]();
|
|
3635
3824
|
objForEachKey(emptyConfig, function (value) {
|
|
3636
3825
|
emptyConfig[value] = undefined;
|
|
3637
3826
|
});
|
|
@@ -3645,6 +3834,7 @@
|
|
|
3645
3834
|
}(BaseTelemetryPlugin));
|
|
3646
3835
|
|
|
3647
3836
|
exports.AjaxPlugin = AjaxMonitor;
|
|
3837
|
+
exports.DfltAjaxCorrelationHeaderExDomains = DfltAjaxCorrelationHeaderExDomains;
|
|
3648
3838
|
exports.ajaxRecord = ajaxRecord;
|
|
3649
3839
|
|
|
3650
3840
|
(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 });
|