Files
doneit-web/.angular/cache/14.2.12/babel-webpack/4eed6a16be09a67339bd2c0056a78a72.json
T
Eudes Inácio 53b71ea16f its working
2023-06-30 09:54:21 +01:00

1 line
23 KiB
JSON

{"ast":null,"code":"import { isMatchingPattern, addInstrumentationHandler, dynamicSamplingContextToSentryBaggageHeader, isInstanceOf, BAGGAGE_HEADER_NAME } from '@sentry/utils';\nimport { hasTracingEnabled, getActiveTransaction } from '../utils.js';\nvar DEFAULT_TRACING_ORIGINS = ['localhost', /^\\//];\n\n/** Options for Request Instrumentation */\n\nvar defaultRequestInstrumentationOptions = {\n traceFetch: true,\n traceXHR: true,\n tracingOrigins: DEFAULT_TRACING_ORIGINS\n};\n\n/** Registers span creators for xhr and fetch requests */\nfunction instrumentOutgoingRequests(_options) {\n const {\n traceFetch,\n traceXHR,\n tracingOrigins,\n shouldCreateSpanForRequest\n } = {\n ...defaultRequestInstrumentationOptions,\n ..._options\n };\n\n // We should cache url -> decision so that we don't have to compute\n // regexp everytime we create a request.\n var urlMap = {};\n var defaultShouldCreateSpan = url => {\n if (urlMap[url]) {\n return urlMap[url];\n }\n var origins = tracingOrigins;\n urlMap[url] = origins.some(origin => isMatchingPattern(url, origin)) && !isMatchingPattern(url, 'sentry_key');\n return urlMap[url];\n };\n\n // We want that our users don't have to re-implement shouldCreateSpanForRequest themselves\n // That's why we filter out already unwanted Spans from tracingOrigins\n let shouldCreateSpan = defaultShouldCreateSpan;\n if (typeof shouldCreateSpanForRequest === 'function') {\n shouldCreateSpan = url => {\n return defaultShouldCreateSpan(url) && shouldCreateSpanForRequest(url);\n };\n }\n var spans = {};\n if (traceFetch) {\n addInstrumentationHandler('fetch', handlerData => {\n fetchCallback(handlerData, shouldCreateSpan, spans);\n });\n }\n if (traceXHR) {\n addInstrumentationHandler('xhr', handlerData => {\n xhrCallback(handlerData, shouldCreateSpan, spans);\n });\n }\n}\n\n/**\n * Create and track fetch request spans\n */\nfunction fetchCallback(handlerData, shouldCreateSpan, spans) {\n if (!hasTracingEnabled() || !(handlerData.fetchData && shouldCreateSpan(handlerData.fetchData.url))) {\n return;\n }\n if (handlerData.endTimestamp) {\n var spanId = handlerData.fetchData.__span;\n if (!spanId) return;\n var span = spans[spanId];\n if (span) {\n if (handlerData.response) {\n // TODO (kmclb) remove this once types PR goes through\n span.setHttpStatus(handlerData.response.status);\n } else if (handlerData.error) {\n span.setStatus('internal_error');\n }\n span.finish();\n delete spans[spanId];\n }\n return;\n }\n var activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n var span = activeTransaction.startChild({\n data: {\n ...handlerData.fetchData,\n type: 'fetch'\n },\n description: `${handlerData.fetchData.method} ${handlerData.fetchData.url}`,\n op: 'http.client'\n });\n handlerData.fetchData.__span = span.spanId;\n spans[span.spanId] = span;\n var request = handlerData.args[0];\n\n // In case the user hasn't set the second argument of a fetch call we default it to `{}`.\n handlerData.args[1] = handlerData.args[1] || {};\n var options = handlerData.args[1];\n options.headers = addTracingHeadersToFetchRequest(request, activeTransaction.getDynamicSamplingContext(), span, options);\n activeTransaction.metadata.propagations += 1;\n }\n}\nfunction addTracingHeadersToFetchRequest(request, dynamicSamplingContext, span, options) {\n var sentryBaggageHeader = dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext);\n var sentryTraceHeader = span.toTraceparent();\n var headers = typeof Request !== 'undefined' && isInstanceOf(request, Request) ? request.headers : options.headers;\n if (!headers) {\n return {\n 'sentry-trace': sentryTraceHeader,\n baggage: sentryBaggageHeader\n };\n } else if (typeof Headers !== 'undefined' && isInstanceOf(headers, Headers)) {\n var newHeaders = new Headers(headers);\n newHeaders.append('sentry-trace', sentryTraceHeader);\n if (sentryBaggageHeader) {\n // If the same header is appended miultiple times the browser will merge the values into a single request header.\n // Its therefore safe to simply push a \"baggage\" entry, even though there might already be another baggage header.\n newHeaders.append(BAGGAGE_HEADER_NAME, sentryBaggageHeader);\n }\n return newHeaders;\n } else if (Array.isArray(headers)) {\n var newHeaders = [...headers, ['sentry-trace', sentryTraceHeader]];\n if (sentryBaggageHeader) {\n // If there are multiple entries with the same key, the browser will merge the values into a single request header.\n // Its therefore safe to simply push a \"baggage\" entry, even though there might already be another baggage header.\n newHeaders.push([BAGGAGE_HEADER_NAME, sentryBaggageHeader]);\n }\n return newHeaders;\n } else {\n var existingBaggageHeader = 'baggage' in headers ? headers.baggage : undefined;\n var newBaggageHeaders = [];\n if (Array.isArray(existingBaggageHeader)) {\n newBaggageHeaders.push(...existingBaggageHeader);\n } else if (existingBaggageHeader) {\n newBaggageHeaders.push(existingBaggageHeader);\n }\n if (sentryBaggageHeader) {\n newBaggageHeaders.push(sentryBaggageHeader);\n }\n return {\n ...headers,\n 'sentry-trace': sentryTraceHeader,\n baggage: newBaggageHeaders.length > 0 ? newBaggageHeaders.join(',') : undefined\n };\n }\n}\n\n/**\n * Create and track xhr request spans\n */\nfunction xhrCallback(handlerData, shouldCreateSpan, spans) {\n if (!hasTracingEnabled() || handlerData.xhr && handlerData.xhr.__sentry_own_request__ || !(handlerData.xhr && handlerData.xhr.__sentry_xhr__ && shouldCreateSpan(handlerData.xhr.__sentry_xhr__.url))) {\n return;\n }\n var xhr = handlerData.xhr.__sentry_xhr__;\n\n // check first if the request has finished and is tracked by an existing span which should now end\n if (handlerData.endTimestamp) {\n var spanId = handlerData.xhr.__sentry_xhr_span_id__;\n if (!spanId) return;\n var span = spans[spanId];\n if (span) {\n span.setHttpStatus(xhr.status_code);\n span.finish();\n delete spans[spanId];\n }\n return;\n }\n\n // if not, create a new span to track it\n var activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n var span = activeTransaction.startChild({\n data: {\n ...xhr.data,\n type: 'xhr',\n method: xhr.method,\n url: xhr.url\n },\n description: `${xhr.method} ${xhr.url}`,\n op: 'http.client'\n });\n handlerData.xhr.__sentry_xhr_span_id__ = span.spanId;\n spans[handlerData.xhr.__sentry_xhr_span_id__] = span;\n if (handlerData.xhr.setRequestHeader) {\n try {\n handlerData.xhr.setRequestHeader('sentry-trace', span.toTraceparent());\n var dynamicSamplingContext = activeTransaction.getDynamicSamplingContext();\n var sentryBaggageHeader = dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext);\n if (sentryBaggageHeader) {\n // From MDN: \"If this method is called several times with the same header, the values are merged into one single request header.\"\n // We can therefore simply set a baggage header without checking what was there before\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader\n handlerData.xhr.setRequestHeader(BAGGAGE_HEADER_NAME, sentryBaggageHeader);\n }\n activeTransaction.metadata.propagations += 1;\n } catch (_) {\n // Error: InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.\n }\n }\n }\n}\nexport { DEFAULT_TRACING_ORIGINS, defaultRequestInstrumentationOptions, fetchCallback, instrumentOutgoingRequests, xhrCallback };","map":{"version":3,"names":["isMatchingPattern","addInstrumentationHandler","dynamicSamplingContextToSentryBaggageHeader","isInstanceOf","BAGGAGE_HEADER_NAME","hasTracingEnabled","getActiveTransaction","DEFAULT_TRACING_ORIGINS","defaultRequestInstrumentationOptions","traceFetch","traceXHR","tracingOrigins","instrumentOutgoingRequests","_options","shouldCreateSpanForRequest","urlMap","defaultShouldCreateSpan","url","origins","some","origin","shouldCreateSpan","spans","handlerData","fetchCallback","xhrCallback","fetchData","endTimestamp","spanId","__span","span","response","setHttpStatus","status","error","setStatus","finish","activeTransaction","startChild","data","type","description","method","op","request","args","options","headers","addTracingHeadersToFetchRequest","getDynamicSamplingContext","metadata","propagations","dynamicSamplingContext","sentryBaggageHeader","sentryTraceHeader","toTraceparent","Request","baggage","Headers","newHeaders","append","Array","isArray","push","existingBaggageHeader","undefined","newBaggageHeaders","length","join","xhr","__sentry_own_request__","__sentry_xhr__","__sentry_xhr_span_id__","status_code","setRequestHeader","_"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@sentry/tracing/esm/browser/request.js"],"sourcesContent":["import { isMatchingPattern, addInstrumentationHandler, dynamicSamplingContextToSentryBaggageHeader, isInstanceOf, BAGGAGE_HEADER_NAME } from '@sentry/utils';\nimport { hasTracingEnabled, getActiveTransaction } from '../utils.js';\n\nvar DEFAULT_TRACING_ORIGINS = ['localhost', /^\\//];\n\n/** Options for Request Instrumentation */\n\nvar defaultRequestInstrumentationOptions = {\n traceFetch: true,\n traceXHR: true,\n tracingOrigins: DEFAULT_TRACING_ORIGINS,\n};\n\n/** Registers span creators for xhr and fetch requests */\nfunction instrumentOutgoingRequests(_options) {\n const { traceFetch, traceXHR, tracingOrigins, shouldCreateSpanForRequest } = {\n ...defaultRequestInstrumentationOptions,\n ..._options,\n };\n\n // We should cache url -> decision so that we don't have to compute\n // regexp everytime we create a request.\n var urlMap = {};\n\n var defaultShouldCreateSpan = (url) => {\n if (urlMap[url]) {\n return urlMap[url];\n }\n var origins = tracingOrigins;\n urlMap[url] =\n origins.some((origin) => isMatchingPattern(url, origin)) &&\n !isMatchingPattern(url, 'sentry_key');\n return urlMap[url];\n };\n\n // We want that our users don't have to re-implement shouldCreateSpanForRequest themselves\n // That's why we filter out already unwanted Spans from tracingOrigins\n let shouldCreateSpan = defaultShouldCreateSpan;\n if (typeof shouldCreateSpanForRequest === 'function') {\n shouldCreateSpan = (url) => {\n return defaultShouldCreateSpan(url) && shouldCreateSpanForRequest(url);\n };\n }\n\n var spans = {};\n\n if (traceFetch) {\n addInstrumentationHandler('fetch', (handlerData) => {\n fetchCallback(handlerData, shouldCreateSpan, spans);\n });\n }\n\n if (traceXHR) {\n addInstrumentationHandler('xhr', (handlerData) => {\n xhrCallback(handlerData, shouldCreateSpan, spans);\n });\n }\n}\n\n/**\n * Create and track fetch request spans\n */\nfunction fetchCallback(\n handlerData,\n shouldCreateSpan,\n spans,\n) {\n if (!hasTracingEnabled() || !(handlerData.fetchData && shouldCreateSpan(handlerData.fetchData.url))) {\n return;\n }\n\n if (handlerData.endTimestamp) {\n var spanId = handlerData.fetchData.__span;\n if (!spanId) return;\n\n var span = spans[spanId];\n if (span) {\n if (handlerData.response) {\n // TODO (kmclb) remove this once types PR goes through\n span.setHttpStatus(handlerData.response.status);\n } else if (handlerData.error) {\n span.setStatus('internal_error');\n }\n span.finish();\n\n delete spans[spanId];\n }\n return;\n }\n\n var activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n var span = activeTransaction.startChild({\n data: {\n ...handlerData.fetchData,\n type: 'fetch',\n },\n description: `${handlerData.fetchData.method} ${handlerData.fetchData.url}`,\n op: 'http.client',\n });\n\n handlerData.fetchData.__span = span.spanId;\n spans[span.spanId] = span;\n\n var request = handlerData.args[0];\n\n // In case the user hasn't set the second argument of a fetch call we default it to `{}`.\n handlerData.args[1] = handlerData.args[1] || {};\n\n var options = handlerData.args[1];\n\n options.headers = addTracingHeadersToFetchRequest(\n request,\n activeTransaction.getDynamicSamplingContext(),\n span,\n options,\n );\n\n activeTransaction.metadata.propagations += 1;\n }\n}\n\nfunction addTracingHeadersToFetchRequest(\n request,\n dynamicSamplingContext,\n span,\n options\n\n,\n) {\n var sentryBaggageHeader = dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext);\n var sentryTraceHeader = span.toTraceparent();\n\n var headers =\n typeof Request !== 'undefined' && isInstanceOf(request, Request) ? (request ).headers : options.headers;\n\n if (!headers) {\n return { 'sentry-trace': sentryTraceHeader, baggage: sentryBaggageHeader };\n } else if (typeof Headers !== 'undefined' && isInstanceOf(headers, Headers)) {\n var newHeaders = new Headers(headers );\n\n newHeaders.append('sentry-trace', sentryTraceHeader);\n\n if (sentryBaggageHeader) {\n // If the same header is appended miultiple times the browser will merge the values into a single request header.\n // Its therefore safe to simply push a \"baggage\" entry, even though there might already be another baggage header.\n newHeaders.append(BAGGAGE_HEADER_NAME, sentryBaggageHeader);\n }\n\n return newHeaders ;\n } else if (Array.isArray(headers)) {\n var newHeaders = [...headers, ['sentry-trace', sentryTraceHeader]];\n\n if (sentryBaggageHeader) {\n // If there are multiple entries with the same key, the browser will merge the values into a single request header.\n // Its therefore safe to simply push a \"baggage\" entry, even though there might already be another baggage header.\n newHeaders.push([BAGGAGE_HEADER_NAME, sentryBaggageHeader]);\n }\n\n return newHeaders;\n } else {\n var existingBaggageHeader = 'baggage' in headers ? headers.baggage : undefined;\n var newBaggageHeaders = [];\n\n if (Array.isArray(existingBaggageHeader)) {\n newBaggageHeaders.push(...existingBaggageHeader);\n } else if (existingBaggageHeader) {\n newBaggageHeaders.push(existingBaggageHeader);\n }\n\n if (sentryBaggageHeader) {\n newBaggageHeaders.push(sentryBaggageHeader);\n }\n\n return {\n ...(headers ),\n 'sentry-trace': sentryTraceHeader,\n baggage: newBaggageHeaders.length > 0 ? newBaggageHeaders.join(',') : undefined,\n };\n }\n}\n\n/**\n * Create and track xhr request spans\n */\nfunction xhrCallback(\n handlerData,\n shouldCreateSpan,\n spans,\n) {\n if (\n !hasTracingEnabled() ||\n (handlerData.xhr && handlerData.xhr.__sentry_own_request__) ||\n !(handlerData.xhr && handlerData.xhr.__sentry_xhr__ && shouldCreateSpan(handlerData.xhr.__sentry_xhr__.url))\n ) {\n return;\n }\n\n var xhr = handlerData.xhr.__sentry_xhr__;\n\n // check first if the request has finished and is tracked by an existing span which should now end\n if (handlerData.endTimestamp) {\n var spanId = handlerData.xhr.__sentry_xhr_span_id__;\n if (!spanId) return;\n\n var span = spans[spanId];\n if (span) {\n span.setHttpStatus(xhr.status_code);\n span.finish();\n\n delete spans[spanId];\n }\n return;\n }\n\n // if not, create a new span to track it\n var activeTransaction = getActiveTransaction();\n if (activeTransaction) {\n var span = activeTransaction.startChild({\n data: {\n ...xhr.data,\n type: 'xhr',\n method: xhr.method,\n url: xhr.url,\n },\n description: `${xhr.method} ${xhr.url}`,\n op: 'http.client',\n });\n\n handlerData.xhr.__sentry_xhr_span_id__ = span.spanId;\n spans[handlerData.xhr.__sentry_xhr_span_id__] = span;\n\n if (handlerData.xhr.setRequestHeader) {\n try {\n handlerData.xhr.setRequestHeader('sentry-trace', span.toTraceparent());\n\n var dynamicSamplingContext = activeTransaction.getDynamicSamplingContext();\n var sentryBaggageHeader = dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext);\n\n if (sentryBaggageHeader) {\n // From MDN: \"If this method is called several times with the same header, the values are merged into one single request header.\"\n // We can therefore simply set a baggage header without checking what was there before\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader\n handlerData.xhr.setRequestHeader(BAGGAGE_HEADER_NAME, sentryBaggageHeader);\n }\n\n activeTransaction.metadata.propagations += 1;\n } catch (_) {\n // Error: InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.\n }\n }\n }\n}\n\nexport { DEFAULT_TRACING_ORIGINS, defaultRequestInstrumentationOptions, fetchCallback, instrumentOutgoingRequests, xhrCallback };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}