@cloudcare/cocos-sdk 0.1.1-alpha.3 → 0.1.1-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/creator2/core/auto-tracking.d.ts.map +1 -1
- package/dist/creator2/core/auto-tracking.js +300 -157
- package/dist/creator2/core/auto-tracking.js.map +1 -1
- package/dist/creator2/core/version.d.ts +1 -1
- package/dist/creator2/core/version.js +1 -1
- package/dist/creator2/core/version.js.map +1 -1
- package/dist/creator2/creator2/auto.js +14 -5
- package/dist/creator2/creator2/auto.js.map +1 -1
- package/dist/creator3/core/auto-tracking.d.ts.map +1 -1
- package/dist/creator3/core/auto-tracking.js +267 -84
- package/dist/creator3/core/auto-tracking.js.map +1 -1
- package/dist/creator3/core/version.d.ts +1 -1
- package/dist/creator3/core/version.js +1 -1
- package/native/ios/FTCocosBridge.podspec +1 -1
- package/native/jsb-errors.js +1 -1
- package/package.json +1 -1
- package/runtime/native.js +334 -226
- package/web/bootstrap.js +1 -1
- package/web/bootstrap.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-tracking.d.ts","sourceRoot":"","sources":["../../../../../src/core/auto-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,IAAI,CAAC;IACvF,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACnF;AAED,UAAU,iBAAkB,SAAQ,gBAAgB;IAClD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,UAAU,CAAC,gBAAgB,CAAC;IACtD,mBAAmB,CAAC,EAAE,OAAO,UAAU,CAAC,mBAAmB,CAAC;CAC7D;AAED,qBAAa,qBAAsB,YAAW,wBAAwB;IAOlE,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;gBAG/B,GAAG,EAAE,KAAK,EACV,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,qBAAqB,EAC5B,MAAM,GAAE,iBAA8B;IAKzD,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,mBAA2B,GAAG,IAAI;IAoBhG,IAAI,CAAC,KAAK,GAAE,mBAA2B,GAAG,IAAI;IAiB9C,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"auto-tracking.d.ts","sourceRoot":"","sources":["../../../../../src/core/auto-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,IAAI,CAAC;IACvF,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACnF;AAED,UAAU,iBAAkB,SAAQ,gBAAgB;IAClD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,UAAU,CAAC,gBAAgB,CAAC;IACtD,mBAAmB,CAAC,EAAE,OAAO,UAAU,CAAC,mBAAmB,CAAC;CAC7D;AAED,qBAAa,qBAAsB,YAAW,wBAAwB;IAOlE,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;gBAG/B,GAAG,EAAE,KAAK,EACV,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,qBAAqB,EAC5B,MAAM,GAAE,iBAA8B;IAKzD,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,mBAA2B,GAAG,IAAI;IAoBhG,IAAI,CAAC,KAAK,GAAE,mBAA2B,GAAG,IAAI;IAiB9C,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,oBAAoB;IAgF5B,OAAO,CAAC,kBAAkB;CAiH3B"}
|
|
@@ -1,60 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
24
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
50
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
51
|
-
if (ar || !(i in from)) {
|
|
52
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
53
|
-
ar[i] = from[i];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
57
|
-
};
|
|
58
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
3
|
exports.FTDefaultAutoTracking = void 0;
|
|
60
4
|
var observation_js_1 = require("./observation.js");
|
|
@@ -250,46 +194,93 @@ var FTDefaultAutoTracking = /** @class */ (function () {
|
|
|
250
194
|
var original = this.target.fetch;
|
|
251
195
|
if (!original)
|
|
252
196
|
return;
|
|
253
|
-
var
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
197
|
+
var rum = this.rum;
|
|
198
|
+
var trace = this.trace;
|
|
199
|
+
var active = true;
|
|
200
|
+
var tracked = function () {
|
|
201
|
+
var args = [];
|
|
202
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
203
|
+
args[_i] = arguments[_i];
|
|
204
|
+
}
|
|
205
|
+
if (!active)
|
|
206
|
+
return original.apply(this, args);
|
|
207
|
+
var outgoing = args;
|
|
208
|
+
var data;
|
|
209
|
+
observeNetwork(function () {
|
|
210
|
+
var input = args[0], init = args[1];
|
|
211
|
+
var inputObject = networkInput(input);
|
|
212
|
+
if (!inputObject)
|
|
213
|
+
return;
|
|
214
|
+
var url = inputObject.url;
|
|
215
|
+
var method = networkOption(init, 'method');
|
|
216
|
+
var sourceHeaders = networkOption(init, 'headers');
|
|
217
|
+
var record = { key: resourceKey(), url: url, method: method || inputObject.method || 'GET',
|
|
218
|
+
start: nowNs(), headers: undefined };
|
|
219
|
+
data = record;
|
|
220
|
+
try {
|
|
221
|
+
var headers_1 = createHeaders(sourceHeaders === undefined ? inputObject.headers : sourceHeaders);
|
|
222
|
+
var appended_1 = false;
|
|
223
|
+
forEachOwn(trace.getHeaders(url, record.key), function (name, value) {
|
|
224
|
+
if (!hasHeader(headers_1, name)) {
|
|
225
|
+
appendHeader(headers_1, name, value);
|
|
226
|
+
appended_1 = true;
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
if (appended_1) {
|
|
230
|
+
outgoing = args.slice();
|
|
231
|
+
outgoing[1] = withRequestHeaders(init, headers_1);
|
|
232
|
+
}
|
|
233
|
+
record.headers = headers_1;
|
|
288
234
|
}
|
|
235
|
+
catch ( /* Failed instrumentation leaves the original fetch arguments intact. */_a) { /* Failed instrumentation leaves the original fetch arguments intact. */ }
|
|
236
|
+
observeNetwork(function () { return rum.startResource(record.key); });
|
|
289
237
|
});
|
|
290
|
-
|
|
238
|
+
var reportFailure = function (error) {
|
|
239
|
+
if (!data)
|
|
240
|
+
return;
|
|
241
|
+
var key = data.key;
|
|
242
|
+
observeNetwork(function () { return rum.stopResource(key); });
|
|
243
|
+
observeNetwork(function () { return rum.addError(String(error), error instanceof Error ? error.stack || '' : '', 'network_error'); });
|
|
244
|
+
};
|
|
245
|
+
var result;
|
|
246
|
+
// Invoke the application request once. Observation failures must never retry it.
|
|
247
|
+
try {
|
|
248
|
+
result = original.apply(this, outgoing);
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
reportFailure(error);
|
|
252
|
+
throw error;
|
|
253
|
+
}
|
|
254
|
+
if (!data)
|
|
255
|
+
return result;
|
|
256
|
+
var record = data;
|
|
257
|
+
try {
|
|
258
|
+
return result.then(function (response) {
|
|
259
|
+
observeNetwork(function () { return rum.stopResource(record.key); });
|
|
260
|
+
observeNetwork(function () {
|
|
261
|
+
var end = nowNs();
|
|
262
|
+
rum.addResource(record.key, {
|
|
263
|
+
url: record.url,
|
|
264
|
+
httpMethod: record.method,
|
|
265
|
+
requestHeaders: record.headers && headersToObject(record.headers),
|
|
266
|
+
responseHeaders: headersToObject(response.headers),
|
|
267
|
+
statusCode: response.status,
|
|
268
|
+
}, { fetchStartTime: record.start, responseStartTime: end, responseEndTime: end });
|
|
269
|
+
});
|
|
270
|
+
return response;
|
|
271
|
+
}, function (error) {
|
|
272
|
+
reportFailure(error);
|
|
273
|
+
throw error;
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
catch (_a) {
|
|
277
|
+
return result;
|
|
278
|
+
}
|
|
279
|
+
};
|
|
291
280
|
this.networkStops.push(function () {
|
|
292
|
-
|
|
281
|
+
active = false;
|
|
282
|
+
if (_this.target.fetch === tracked)
|
|
283
|
+
_this.target.fetch = original;
|
|
293
284
|
});
|
|
294
285
|
this.target.fetch = tracked;
|
|
295
286
|
};
|
|
@@ -303,71 +294,155 @@ var FTDefaultAutoTracking = /** @class */ (function () {
|
|
|
303
294
|
var metadata = new WeakMap();
|
|
304
295
|
var rum = this.rum;
|
|
305
296
|
var trace = this.trace;
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
var
|
|
310
|
-
var
|
|
311
|
-
|
|
312
|
-
|
|
297
|
+
var active = true;
|
|
298
|
+
var trackedOpen = function () {
|
|
299
|
+
var _this = this;
|
|
300
|
+
var args = [];
|
|
301
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
302
|
+
args[_i] = arguments[_i];
|
|
303
|
+
}
|
|
304
|
+
if (!active)
|
|
305
|
+
return open.apply(this, args);
|
|
306
|
+
var previous = metadata.get(this);
|
|
307
|
+
observeNetwork(function () {
|
|
308
|
+
metadata.delete(_this);
|
|
309
|
+
if (typeof args[0] !== 'string' || typeof args[1] !== 'string')
|
|
310
|
+
return;
|
|
311
|
+
metadata.set(_this, { key: resourceKey(), method: args[0], url: String(args[1]),
|
|
312
|
+
headers: Object.create(null), headersKnown: true });
|
|
313
|
+
});
|
|
314
|
+
try {
|
|
315
|
+
return open.apply(this, args);
|
|
316
|
+
}
|
|
317
|
+
catch (error) {
|
|
318
|
+
observeNetwork(function () { if (previous)
|
|
319
|
+
metadata.set(_this, previous);
|
|
320
|
+
else
|
|
321
|
+
metadata.delete(_this); });
|
|
322
|
+
throw error;
|
|
313
323
|
}
|
|
314
|
-
metadata.set(this, { key: resourceKey(), method: method, url: String(url), headers: {} });
|
|
315
|
-
(_a = open).call.apply(_a, __spreadArray([this, method, url], rest, false));
|
|
316
324
|
};
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
325
|
+
// Register each restore before assignment so partial installation can roll back.
|
|
326
|
+
this.networkStops.push(function () { active = false; if (Xhr.prototype.open === trackedOpen)
|
|
327
|
+
Xhr.prototype.open = open; });
|
|
328
|
+
Xhr.prototype.open = trackedOpen;
|
|
329
|
+
var trackedHeader = function () {
|
|
330
|
+
var _this = this;
|
|
331
|
+
var args = [];
|
|
332
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
333
|
+
args[_i] = arguments[_i];
|
|
334
|
+
}
|
|
335
|
+
var result = setRequestHeader.apply(this, args);
|
|
336
|
+
observeNetwork(function () {
|
|
337
|
+
var data = active && metadata.get(_this);
|
|
338
|
+
if (!data)
|
|
339
|
+
return;
|
|
340
|
+
var name = args[0], value = args[1];
|
|
341
|
+
if (typeof name !== 'string' || typeof value !== 'string') {
|
|
342
|
+
data.headersKnown = false;
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
var key = name.toLowerCase();
|
|
346
|
+
data.headers[key] = key in data.headers ? "".concat(data.headers[key], ", ").concat(value) : value;
|
|
347
|
+
});
|
|
348
|
+
return result;
|
|
323
349
|
};
|
|
324
|
-
this.networkStops.push(function () {
|
|
325
|
-
|
|
350
|
+
this.networkStops.push(function () {
|
|
351
|
+
active = false;
|
|
352
|
+
if (Xhr.prototype.setRequestHeader === trackedHeader)
|
|
353
|
+
Xhr.prototype.setRequestHeader = setRequestHeader;
|
|
354
|
+
});
|
|
355
|
+
Xhr.prototype.setRequestHeader = trackedHeader;
|
|
356
|
+
var trackedSend = function () {
|
|
326
357
|
var _this = this;
|
|
327
|
-
var
|
|
358
|
+
var args = [];
|
|
359
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
360
|
+
args[_i] = arguments[_i];
|
|
361
|
+
}
|
|
362
|
+
var data = active && metadata.get(this);
|
|
328
363
|
if (!data)
|
|
329
|
-
return send.
|
|
330
|
-
|
|
331
|
-
data.
|
|
332
|
-
|
|
364
|
+
return send.apply(this, args);
|
|
365
|
+
observeNetwork(function () {
|
|
366
|
+
if (!data.headersKnown)
|
|
367
|
+
return;
|
|
368
|
+
forEachOwn(trace.getHeaders(data.url, data.key), function (name, value) {
|
|
369
|
+
if (!validTraceHeader(name, value))
|
|
370
|
+
return;
|
|
371
|
+
var key = name.toLowerCase();
|
|
372
|
+
if (key in data.headers)
|
|
373
|
+
return;
|
|
374
|
+
setRequestHeader.call(_this, name, value);
|
|
375
|
+
data.headers[key] = value;
|
|
376
|
+
});
|
|
333
377
|
});
|
|
334
|
-
var started =
|
|
335
|
-
rum.startResource(data.key);
|
|
378
|
+
var started = 0;
|
|
379
|
+
observeNetwork(function () { started = nowNs(); rum.startResource(data.key); });
|
|
336
380
|
var completed = false;
|
|
381
|
+
var cleanup;
|
|
337
382
|
var report = function () {
|
|
338
383
|
if (completed)
|
|
339
384
|
return;
|
|
340
385
|
completed = true;
|
|
341
|
-
|
|
342
|
-
rum.stopResource(data.key);
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
386
|
+
observeNetwork(function () { return cleanup === null || cleanup === void 0 ? void 0 : cleanup(); });
|
|
387
|
+
observeNetwork(function () { return rum.stopResource(data.key); });
|
|
388
|
+
observeNetwork(function () {
|
|
389
|
+
var ended = nowNs();
|
|
390
|
+
rum.addResource(data.key, {
|
|
391
|
+
url: data.url,
|
|
392
|
+
httpMethod: data.method,
|
|
393
|
+
requestHeaders: data.headers,
|
|
394
|
+
responseHeaders: parseXhrHeaders(_this.getAllResponseHeaders()),
|
|
395
|
+
statusCode: _this.status,
|
|
396
|
+
}, { fetchStartTime: started, responseStartTime: ended, responseEndTime: ended });
|
|
397
|
+
});
|
|
350
398
|
};
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
399
|
+
observeNetwork(function () {
|
|
400
|
+
var originalLoadEnd = _this.onloadend;
|
|
401
|
+
try {
|
|
402
|
+
_this.addEventListener('loadend', report, { once: true });
|
|
403
|
+
// Creator 2 JSB assigns the on* property instead of keeping a listener list.
|
|
404
|
+
if (_this.onloadend === report) {
|
|
405
|
+
var xhr_1 = _this;
|
|
406
|
+
var handler_1 = function () {
|
|
407
|
+
var events = [];
|
|
408
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
409
|
+
events[_i] = arguments[_i];
|
|
410
|
+
}
|
|
411
|
+
observeNetwork(function () { return cleanup === null || cleanup === void 0 ? void 0 : cleanup(); });
|
|
412
|
+
try {
|
|
413
|
+
return originalLoadEnd === null || originalLoadEnd === void 0 ? void 0 : originalLoadEnd.apply(this, events);
|
|
414
|
+
}
|
|
415
|
+
finally {
|
|
416
|
+
report();
|
|
417
|
+
}
|
|
418
|
+
};
|
|
419
|
+
cleanup = function () { if (xhr_1.onloadend === handler_1)
|
|
420
|
+
xhr_1.onloadend = originalLoadEnd; };
|
|
421
|
+
_this.onloadend = handler_1;
|
|
362
422
|
}
|
|
363
|
-
|
|
364
|
-
|
|
423
|
+
else {
|
|
424
|
+
cleanup = function () { return _this.removeEventListener('loadend', report); };
|
|
365
425
|
}
|
|
366
|
-
}
|
|
367
|
-
|
|
426
|
+
}
|
|
427
|
+
catch (_a) {
|
|
428
|
+
observeNetwork(function () { return cleanup === null || cleanup === void 0 ? void 0 : cleanup(); });
|
|
429
|
+
observeNetwork(function () { if (_this.onloadend === report)
|
|
430
|
+
_this.onloadend = originalLoadEnd; });
|
|
431
|
+
}
|
|
432
|
+
});
|
|
433
|
+
try {
|
|
434
|
+
return send.apply(this, args);
|
|
435
|
+
}
|
|
436
|
+
catch (error) {
|
|
437
|
+
completed = true;
|
|
438
|
+
observeNetwork(function () { return cleanup === null || cleanup === void 0 ? void 0 : cleanup(); });
|
|
439
|
+
observeNetwork(function () { return rum.stopResource(data.key); });
|
|
440
|
+
throw error;
|
|
368
441
|
}
|
|
369
|
-
send.call(this, body);
|
|
370
442
|
};
|
|
443
|
+
this.networkStops.push(function () { active = false; if (Xhr.prototype.send === trackedSend)
|
|
444
|
+
Xhr.prototype.send = send; });
|
|
445
|
+
Xhr.prototype.send = trackedSend;
|
|
371
446
|
};
|
|
372
447
|
return FTDefaultAutoTracking;
|
|
373
448
|
}());
|
|
@@ -380,39 +455,107 @@ function resourceKey() {
|
|
|
380
455
|
resourceSequence = (resourceSequence + 1) % Number.MAX_SAFE_INTEGER;
|
|
381
456
|
return "cocos-".concat(Date.now().toString(36), "-").concat(resourceSequence.toString(36));
|
|
382
457
|
}
|
|
458
|
+
function observeNetwork(observe) {
|
|
459
|
+
try {
|
|
460
|
+
observe();
|
|
461
|
+
}
|
|
462
|
+
catch ( /* Monitoring cannot change the application's network result. */_a) { /* Monitoring cannot change the application's network result. */ }
|
|
463
|
+
}
|
|
464
|
+
function networkOption(init, name) {
|
|
465
|
+
for (var source = init; source; source = Object.getPrototypeOf(source)) {
|
|
466
|
+
var descriptor = Object.getOwnPropertyDescriptor(source, name);
|
|
467
|
+
if (!descriptor)
|
|
468
|
+
continue;
|
|
469
|
+
// Accessors may refresh tokens or mutate options. Leave them to the original fetch.
|
|
470
|
+
if (descriptor.get || descriptor.set)
|
|
471
|
+
throw new TypeError('Network option requires its original receiver');
|
|
472
|
+
return descriptor.value;
|
|
473
|
+
}
|
|
474
|
+
return undefined;
|
|
475
|
+
}
|
|
476
|
+
function networkInput(input) {
|
|
477
|
+
if (typeof input === 'string')
|
|
478
|
+
return { url: input };
|
|
479
|
+
if (typeof Request === 'function' && input instanceof Request) {
|
|
480
|
+
var read = function (name) {
|
|
481
|
+
var descriptor = Object.getOwnPropertyDescriptor(Request.prototype, name);
|
|
482
|
+
return (descriptor === null || descriptor === void 0 ? void 0 : descriptor.get) ? descriptor.get.call(input) : networkOption(input, name);
|
|
483
|
+
};
|
|
484
|
+
return { url: read('url'), method: read('method'), headers: read('headers') };
|
|
485
|
+
}
|
|
486
|
+
if (typeof URL === 'function' && input instanceof URL)
|
|
487
|
+
return { url: URL.prototype.toString.call(input) };
|
|
488
|
+
// Custom string conversion belongs to the application request and must only run there.
|
|
489
|
+
return undefined;
|
|
490
|
+
}
|
|
491
|
+
function withRequestHeaders(init, headers) {
|
|
492
|
+
var result = Object.create(init || null);
|
|
493
|
+
var _loop_1 = function (source) {
|
|
494
|
+
Object.getOwnPropertyNames(source).forEach(function (name) {
|
|
495
|
+
if (name === 'headers' || Object.prototype.hasOwnProperty.call(result, name))
|
|
496
|
+
return;
|
|
497
|
+
var descriptor = Object.getOwnPropertyDescriptor(source, name);
|
|
498
|
+
Object.defineProperty(result, name, { enumerable: descriptor === null || descriptor === void 0 ? void 0 : descriptor.enumerable, configurable: true,
|
|
499
|
+
get: function () { return init[name]; } });
|
|
500
|
+
});
|
|
501
|
+
};
|
|
502
|
+
// Forward getters to their original receiver, including inherited/non-enumerable options.
|
|
503
|
+
for (var source = init; source && source !== Object.prototype; source = Object.getPrototypeOf(source)) {
|
|
504
|
+
_loop_1(source);
|
|
505
|
+
}
|
|
506
|
+
Object.defineProperty(result, 'headers', { value: headers, enumerable: true, configurable: true, writable: true });
|
|
507
|
+
return result;
|
|
508
|
+
}
|
|
383
509
|
function createHeaders(source) {
|
|
384
510
|
var HeadersConstructor = globalThis.Headers;
|
|
385
511
|
if (HeadersConstructor)
|
|
386
512
|
return new HeadersConstructor(source);
|
|
387
|
-
var result =
|
|
513
|
+
var result = [];
|
|
388
514
|
if (Array.isArray(source)) {
|
|
389
515
|
source.forEach(function (_a) {
|
|
390
516
|
var name = _a[0], value = _a[1];
|
|
391
|
-
result[name
|
|
517
|
+
result.push([String(name), String(value)]);
|
|
392
518
|
});
|
|
393
519
|
}
|
|
394
520
|
else if (source && typeof source.forEach === 'function') {
|
|
395
|
-
source.forEach(function (value, name) { result[name
|
|
521
|
+
source.forEach(function (value, name) { result.push([name, value]); });
|
|
396
522
|
}
|
|
397
523
|
else if (source) {
|
|
398
|
-
forEachOwn(source, function (name, value) { result[name
|
|
524
|
+
forEachOwn(source, function (name, value) { result.push([name, String(value)]); });
|
|
399
525
|
}
|
|
400
526
|
return result;
|
|
401
527
|
}
|
|
402
|
-
function
|
|
403
|
-
|
|
404
|
-
|
|
528
|
+
function hasHeader(headers, name) {
|
|
529
|
+
return Array.isArray(headers) ? headers.some(function (_a) {
|
|
530
|
+
var key = _a[0];
|
|
531
|
+
return key.toLowerCase() === name.toLowerCase();
|
|
532
|
+
}) : headers.has(name);
|
|
533
|
+
}
|
|
534
|
+
function appendHeader(headers, name, value) {
|
|
535
|
+
if (!validTraceHeader(name, value))
|
|
536
|
+
throw new TypeError('Invalid trace header');
|
|
537
|
+
if (Array.isArray(headers))
|
|
538
|
+
headers.push([name, value]);
|
|
405
539
|
else
|
|
406
|
-
headers
|
|
540
|
+
headers.append(name, value);
|
|
541
|
+
}
|
|
542
|
+
function validTraceHeader(name, value) {
|
|
543
|
+
return /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/.test(name) && typeof value === 'string'
|
|
544
|
+
&& !/[\x00-\x08\x0a-\x1f\x7f\u0100-\uffff]/.test(value);
|
|
407
545
|
}
|
|
408
546
|
function headersToObject(headers) {
|
|
409
|
-
var result =
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
547
|
+
var result = Object.create(null);
|
|
548
|
+
var append = function (value, name) {
|
|
549
|
+
var key = name.toLowerCase();
|
|
550
|
+
result[key] = key in result ? "".concat(result[key], ", ").concat(value) : value;
|
|
551
|
+
};
|
|
552
|
+
if (Array.isArray(headers))
|
|
553
|
+
headers.forEach(function (_a) {
|
|
554
|
+
var name = _a[0], value = _a[1];
|
|
555
|
+
return append(value, name);
|
|
556
|
+
});
|
|
557
|
+
else
|
|
558
|
+
headers.forEach(append);
|
|
416
559
|
return result;
|
|
417
560
|
}
|
|
418
561
|
function forEachOwn(value, callback) {
|