416 lines
18 KiB
React
416 lines
18 KiB
React
/* Metro module 941; source: unknown; dependencies: [77, 65, 863, 828, 874, 864, 857, 912, 836, 849, 844, 908, 848] */
|
|
function _fun10003(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#10003, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1068:6, offset: 0x00d79061, size: 161 bytes, params: 8, frame: 20
|
|
const env0_0 = require;
|
|
const closure = function(a0, a1, a2) {
|
|
var r3;
|
|
var property;
|
|
var value = undefined;
|
|
r3 = typeof a2 !== 'object' || a2 === null ? value : a2.onRequestSpanEnd;
|
|
if (r3 != null) {
|
|
property = a1.response;
|
|
r3(a0, {headers: property == null ? value : property.headers, error: a1.error});
|
|
}
|
|
return value;
|
|
};
|
|
const closure2 = _addTracingHeadersToFetchRequest;
|
|
const baggageHeaderHasSentryBaggageValues = function(a0) {
|
|
return a0.split(',').some(_fun10011);
|
|
};
|
|
const env0_2 = require(77) /* metro dependency 77 */;
|
|
const env0_3 = require(65) /* metro dependency 65 */;
|
|
const Object = global.Object;
|
|
const defineProperty = Object.defineProperty;
|
|
const Symbol = global.Symbol;
|
|
Reflect.apply(defineProperty, Object, [exports, Symbol.toStringTag, {value: 'Module'}]);
|
|
exports._addTracingHeadersToFetchRequest = closure2;
|
|
exports._callOnRequestSpanEnd = closure;
|
|
exports.instrumentFetchRequest = instrumentFetchRequest;
|
|
}
|
|
|
|
function _addTracingHeadersToFetchRequest(a0, a1, a2, a3) { // fn#10005, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1068:231, offset: 0x00d7915b, size: 884 bytes, params: 5, frame: 27
|
|
var headers;
|
|
var r8;
|
|
var r0;
|
|
var r14;
|
|
var traceparent;
|
|
var baggage;
|
|
var r16;
|
|
var r10;
|
|
var r3;
|
|
var moduleValue2;
|
|
var Object;
|
|
var assign;
|
|
var value5;
|
|
var moduleValue3;
|
|
var Array;
|
|
var value11;
|
|
var value12;
|
|
let value = a3;
|
|
const value3 = undefined;
|
|
const moduleValue = require(912) /* metro dependency 912 */;
|
|
const getTraceData = moduleValue.getTraceData;
|
|
let object2 = {span: a2, propagateTraceparent: value};
|
|
const value4 = Reflect.apply(getTraceData, moduleValue, [object2]);
|
|
const property = value4['sentry-trace'];
|
|
const baggage2 = value4.baggage;
|
|
const traceparent2 = value4.traceparent;
|
|
if (property) {
|
|
headers = a1.headers;
|
|
if (headers) {
|
|
r8 = headers;
|
|
} else {
|
|
moduleValue2 = require(836) /* metro dependency 836 */;
|
|
r8 = moduleValue2.isRequest(a0) ? a0.headers : value3;
|
|
}
|
|
if (r8) {
|
|
value5 = typeof global.Headers !== 'undefined';
|
|
if (value5) {
|
|
moduleValue3 = require(836) /* metro dependency 836 */;
|
|
r0 = moduleValue3.isInstanceOf(r8, global.Headers);
|
|
} else {
|
|
r0 = value5;
|
|
}
|
|
if (r0) {
|
|
headers = new global.Headers();
|
|
if (!headers.get('sentry-trace')) {
|
|
headers.set('sentry-trace', property);
|
|
}
|
|
r3 = value && traceparent2;
|
|
r3 = r3 && !headers.get('traceparent');
|
|
if (r3) {
|
|
headers.set('traceparent', traceparent2);
|
|
}
|
|
if (baggage2) {
|
|
value = headers.get('baggage');
|
|
if (value) {
|
|
if (!baggageHeaderHasSentryBaggageValues(value)) {
|
|
headers.set('baggage', '' + value + ',' + baggage2);
|
|
}
|
|
} else {
|
|
headers.set('baggage', baggage2);
|
|
}
|
|
}
|
|
return headers;
|
|
}
|
|
Array = global.Array;
|
|
if (Array.isArray(r8)) {
|
|
value12 = env0_3(r8);
|
|
if (!r8.find(function(a0) {
|
|
return a0[0] === 'sentry-trace';
|
|
})) {
|
|
value12.push(['sentry-trace', property]);
|
|
}
|
|
r10 = value && traceparent2;
|
|
r10 = r10 && !r8.find(_fun10007);
|
|
if (r10) {
|
|
value12.push(['traceparent', traceparent2]);
|
|
}
|
|
value = r8.find(_fun10008);
|
|
if (baggage2 && !value) {
|
|
value12.push(['baggage', baggage2]);
|
|
}
|
|
return value12;
|
|
}
|
|
r14 = 'sentry-trace' in r8 ? r8['sentry-trace'] : value3;
|
|
traceparent = 'traceparent' in r8 ? r8.traceparent : value3;
|
|
baggage = 'baggage' in r8 ? r8.baggage : value3;
|
|
r16 = baggage ? global.Array.isArray(baggage) ? env0_3(baggage) : [baggage] : [];
|
|
r10 = baggage && (global.Array.isArray(baggage) ? baggage.find(_fun10009) : baggageHeaderHasSentryBaggageValues(baggage));
|
|
r0 = baggage2 && !r10;
|
|
if (r0) {
|
|
r16.push(baggage2);
|
|
}
|
|
Object = global.Object;
|
|
assign = Object.assign;
|
|
object2 = {};
|
|
r0 = r14 ?? property;
|
|
object2['sentry-trace'] = r0;
|
|
r0 = r16.length > 0 ? r16.join(',') : value3;
|
|
object2.baggage = r0;
|
|
value11 = Reflect.apply(assign, Object, [{}, r8, object2]);
|
|
r10 = value && traceparent2;
|
|
r10 = r10 && !traceparent;
|
|
if (r10) {
|
|
value11.traceparent = traceparent2;
|
|
}
|
|
return value11;
|
|
}
|
|
Object = global.Object;
|
|
return Object.assign({}, value4);
|
|
}
|
|
return value3;
|
|
}
|
|
|
|
function baggageHeaderHasSentryBaggageValues(a0) { // fn#10010, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1068:1596, offset: 0x00d79533, size: 37 bytes, params: 2, frame: 11
|
|
return a0.split(',').some(function(a0) {
|
|
return a0.trim().startsWith(require(dependencyMap[10]).SENTRY_BAGGAGE_KEY_PREFIX);
|
|
});
|
|
}
|
|
|
|
function getFetchSpanAttributes(a0, a1, a2, a3) { // fn#10012, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1068:1748, offset: 0x00d79591, size: 255 bytes, params: 5, frame: 21
|
|
var moduleValue2;
|
|
var value;
|
|
const binding = env0_2;
|
|
const object2 = {};
|
|
object2.url = (require(908) /* metro dependency 908 */).stripDataUrlContent(a0);
|
|
object2.type = 'fetch';
|
|
object2['http.method'] = a2;
|
|
const SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = (require(848) /* metro dependency 848 */).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN;
|
|
const value2 = binding(object2, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, a3);
|
|
const SEMANTIC_ATTRIBUTE_SENTRY_OP = (require(848) /* metro dependency 848 */).SEMANTIC_ATTRIBUTE_SENTRY_OP;
|
|
const value3 = binding(value2, SEMANTIC_ATTRIBUTE_SENTRY_OP, 'http.client');
|
|
if (a1) {
|
|
moduleValue2 = require(908) /* metro dependency 908 */;
|
|
if (!moduleValue2.isURLObjectRelative(a1)) {
|
|
value = require(908) /* metro dependency 908 */;
|
|
value3['http.url'] = value.stripDataUrlContent(a1.href);
|
|
value3['server.address'] = a1.host;
|
|
}
|
|
if (a1.search) {
|
|
value3['http.query'] = a1.search;
|
|
}
|
|
if (a1.hash) {
|
|
value3['http.fragment'] = a1.hash;
|
|
}
|
|
}
|
|
return value3;
|
|
}
|
|
|
|
function instrumentFetchRequest(a0, a1, a2, a3, a4) { // fn#10013, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1068:2364, offset: 0x00d79690, size: 1075 bytes, params: 6, frame: 31
|
|
var r0;
|
|
var r3;
|
|
var r10;
|
|
var r11;
|
|
var r19;
|
|
var r8;
|
|
var method;
|
|
var url;
|
|
var value3;
|
|
var object2;
|
|
var spanOrigin;
|
|
var propagateTraceparent;
|
|
var moduleValue2;
|
|
var startInactiveSpan;
|
|
var value5;
|
|
var moduleValue3;
|
|
var stringToURLObject;
|
|
const SentryNonRecordingSpan = (require(864) /* metro dependency 864 */).SentryNonRecordingSpan;
|
|
var sentryNonRecordingSpan;
|
|
var spanContext;
|
|
var spanId;
|
|
var args;
|
|
var property;
|
|
var Object;
|
|
var assign;
|
|
var value11;
|
|
var _addTracingHeadersToFetchRequestBinding;
|
|
var moduleValue5;
|
|
var response;
|
|
var __span;
|
|
var setStatus;
|
|
var moduleValue6;
|
|
var setHttpStatus;
|
|
var int;
|
|
let value = a4;
|
|
let fetchData = a0.fetchData;
|
|
if (fetchData) {
|
|
fetchData = a0.fetchData;
|
|
method = fetchData.method;
|
|
url = fetchData.url;
|
|
value3 = undefined;
|
|
r0 = (require(863) /* metro dependency 863 */).hasSpansEnabled() && a1(url);
|
|
if (a0.endTimestamp) {
|
|
if (r0) {
|
|
__span = a0.fetchData.__span;
|
|
if (__span) {
|
|
property = a3[__span];
|
|
if (property) {
|
|
response = a0.response;
|
|
if (response) {
|
|
moduleValue6 = require(849) /* metro dependency 849 */;
|
|
setHttpStatus = moduleValue6.setHttpStatus;
|
|
response = a0.response;
|
|
Reflect.apply(setHttpStatus, moduleValue6, [property, response.status]);
|
|
response = a0.response;
|
|
r8 = response == null || response.headers == null ? value3 : response.headers.get('content-length');
|
|
if (r8) {
|
|
int = global.parseInt(r8);
|
|
if (int > 0) {
|
|
property.setAttribute('http.response_content_length', int);
|
|
}
|
|
}
|
|
} else if (a0.error) {
|
|
setStatus = property.setStatus;
|
|
object2 = {};
|
|
object2.code = (require(849) /* metro dependency 849 */).SPAN_STATUS_ERROR;
|
|
object2.message = 'internal_error';
|
|
Reflect.apply(setStatus, property, [object2]);
|
|
}
|
|
property.end();
|
|
_callOnRequestSpanEnd(property, a0, value);
|
|
delete a3[__span];
|
|
}
|
|
return undefined;
|
|
}
|
|
return value3;
|
|
}
|
|
r3 = typeof value === 'object' ? value : {spanOrigin: value};
|
|
spanOrigin = r3.spanOrigin;
|
|
value = 'auto.http.browser';
|
|
r10 = value3 === spanOrigin ? value : spanOrigin;
|
|
propagateTraceparent = r3.propagateTraceparent;
|
|
value = value3 !== propagateTraceparent;
|
|
r11 = value && propagateTraceparent;
|
|
value = require(828) /* metro dependency 828 */;
|
|
value = value.getActiveSpan();
|
|
if (r0) {
|
|
if (value) {
|
|
moduleValue2 = require(874) /* metro dependency 874 */;
|
|
startInactiveSpan = moduleValue2.startInactiveSpan;
|
|
value5 = url.startsWith('data:');
|
|
moduleValue3 = require(908) /* metro dependency 908 */;
|
|
if (value5) {
|
|
object2 = {};
|
|
object2.name = '' + method + ' ' + moduleValue3.stripDataUrlContent(url);
|
|
object2.attributes = getFetchSpanAttributes(url, value3, method, r10);
|
|
r0 = object2;
|
|
} else {
|
|
stringToURLObject = moduleValue3.parseStringToURLObject(url);
|
|
r19 = stringToURLObject ? (require(908) /* metro dependency 908 */).getSanitizedUrlStringFromUrlObject(stringToURLObject) : url;
|
|
object2 = {};
|
|
object2.name = '' + method + ' ' + r19;
|
|
object2.attributes = getFetchSpanAttributes(url, stringToURLObject, method, r10);
|
|
r0 = object2;
|
|
}
|
|
r0 = Reflect.apply(startInactiveSpan, moduleValue2, [r0]);
|
|
} else {
|
|
sentryNonRecordingSpan = new SentryNonRecordingSpan();
|
|
}
|
|
} else {
|
|
sentryNonRecordingSpan = new SentryNonRecordingSpan();
|
|
}
|
|
fetchData = a0.fetchData;
|
|
spanContext = r0.spanContext;
|
|
spanId = Reflect.apply(spanContext, r0, []).spanId;
|
|
fetchData.__span = spanId;
|
|
spanContext = r0.spanContext;
|
|
spanId = Reflect.apply(spanContext, r0, []).spanId;
|
|
a3[spanId] = r0;
|
|
fetchData = a0.fetchData;
|
|
url = fetchData.url;
|
|
if (a2(url)) {
|
|
args = a0.args;
|
|
property = args[0];
|
|
Object = global.Object;
|
|
assign = Object.assign;
|
|
args = a0.args;
|
|
value11 = Reflect.apply(assign, Object, [{}, args[1] || ({})]);
|
|
_addTracingHeadersToFetchRequestBinding = _addTracingHeadersToFetchRequest;
|
|
moduleValue5 = require(863) /* metro dependency 863 */;
|
|
value = _addTracingHeadersToFetchRequestBinding(property, value11,
|
|
moduleValue5.hasSpansEnabled() && value ? r0 : value3, r11);
|
|
if (value) {
|
|
a0.args[1] = value11;
|
|
value11.headers = value;
|
|
}
|
|
}
|
|
value = require(857) /* metro dependency 857 */;
|
|
value = value.getClient();
|
|
if (value) {
|
|
value.emit('beforeOutgoingRequestSpan', r0, {input: a0.args, response: a0.response,
|
|
startTimestamp: a0.startTimestamp, endTimestamp: a0.endTimestamp});
|
|
}
|
|
return r0;
|
|
}
|
|
r3 = typeof value === 'object' ? value : {spanOrigin: value};
|
|
spanOrigin = r3.spanOrigin;
|
|
value = 'auto.http.browser';
|
|
r10 = value3 === spanOrigin ? value : spanOrigin;
|
|
propagateTraceparent = r3.propagateTraceparent;
|
|
value = value3 !== propagateTraceparent;
|
|
r11 = value && propagateTraceparent;
|
|
value = require(828) /* metro dependency 828 */;
|
|
value = value.getActiveSpan();
|
|
if (r0) {
|
|
if (value) {
|
|
moduleValue2 = require(874) /* metro dependency 874 */;
|
|
startInactiveSpan = moduleValue2.startInactiveSpan;
|
|
value5 = url.startsWith('data:');
|
|
moduleValue3 = require(908) /* metro dependency 908 */;
|
|
if (value5) {
|
|
object2 = {};
|
|
object2.name = '' + method + ' ' + moduleValue3.stripDataUrlContent(url);
|
|
object2.attributes = getFetchSpanAttributes(url, value3, method, r10);
|
|
r0 = object2;
|
|
} else {
|
|
stringToURLObject = moduleValue3.parseStringToURLObject(url);
|
|
r19 = stringToURLObject ? (require(908) /* metro dependency 908 */).getSanitizedUrlStringFromUrlObject(stringToURLObject) : url;
|
|
object2 = {};
|
|
object2.name = '' + method + ' ' + r19;
|
|
object2.attributes = getFetchSpanAttributes(url, stringToURLObject, method, r10);
|
|
r0 = object2;
|
|
}
|
|
r0 = Reflect.apply(startInactiveSpan, moduleValue2, [r0]);
|
|
} else {
|
|
sentryNonRecordingSpan = new SentryNonRecordingSpan();
|
|
}
|
|
} else {
|
|
sentryNonRecordingSpan = new SentryNonRecordingSpan();
|
|
}
|
|
fetchData = a0.fetchData;
|
|
spanContext = r0.spanContext;
|
|
spanId = Reflect.apply(spanContext, r0, []).spanId;
|
|
fetchData.__span = spanId;
|
|
spanContext = r0.spanContext;
|
|
spanId = Reflect.apply(spanContext, r0, []).spanId;
|
|
a3[spanId] = r0;
|
|
fetchData = a0.fetchData;
|
|
url = fetchData.url;
|
|
if (a2(url)) {
|
|
args = a0.args;
|
|
property = args[0];
|
|
Object = global.Object;
|
|
assign = Object.assign;
|
|
args = a0.args;
|
|
value11 = Reflect.apply(assign, Object, [{}, args[1] || ({})]);
|
|
_addTracingHeadersToFetchRequestBinding = _addTracingHeadersToFetchRequest;
|
|
moduleValue5 = require(863) /* metro dependency 863 */;
|
|
value = _addTracingHeadersToFetchRequestBinding(property, value11,
|
|
moduleValue5.hasSpansEnabled() && value ? r0 : value3, r11);
|
|
if (value) {
|
|
a0.args[1] = value11;
|
|
value11.headers = value;
|
|
}
|
|
}
|
|
value = require(857) /* metro dependency 857 */;
|
|
value = value.getClient();
|
|
if (value) {
|
|
value.emit('beforeOutgoingRequestSpan', r0, {input: a0.args, response: a0.response,
|
|
startTimestamp: a0.startTimestamp, endTimestamp: a0.endTimestamp});
|
|
}
|
|
return r0;
|
|
}
|
|
}
|
|
|
|
function _fun10007(a0) { // fn#10007, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1068:930, offset: 0x00d794e2, size: 19 bytes, params: 2, frame: 2
|
|
return a0[0] === 'traceparent';
|
|
}
|
|
|
|
function _fun10008(a0) { // fn#10008, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1068:1013, offset: 0x00d794f5, size: 43 bytes, params: 2, frame: 12
|
|
var r0;
|
|
let value = a0[0] === 'baggage';
|
|
if (value) {
|
|
value = environment.__proto__;
|
|
value = baggageHeaderHasSentryBaggageValues(a0[1]);
|
|
r0 = value;
|
|
} else {
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function _fun10009(a0) { // fn#10009, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1068:1320, offset: 0x00d79520, size: 19 bytes, params: 2, frame: 11
|
|
return baggageHeaderHasSentryBaggageValues(a0);
|
|
}
|
|
|