Files
klz-cables.com/.pnpm-store/v10/files/19/571e54c4c0ebbdb3f09fb4594db87f6f47834d1258d2087166cc5c3af2ed27a0febea71588d4c5d628743ed7ebe6cc6fa9bba60e35f08a0116dad83ff485e0
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
6.3 KiB
Plaintext

{"version":3,"file":"wrapApiHandlerWithSentry.js","sources":["../../../src/edge/wrapApiHandlerWithSentry.ts"],"sourcesContent":["import {\n captureException,\n getActiveSpan,\n getCurrentScope,\n getRootSpan,\n handleCallbackErrors,\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,\n setCapturedScopesOnSpan,\n startSpan,\n winterCGRequestToRequestData,\n withIsolationScope,\n} from '@sentry/core';\nimport { addHeadersAsAttributes } from '../common/utils/addHeadersAsAttributes';\nimport { flushSafelyWithTimeout, waitUntil } from '../common/utils/responseEnd';\nimport type { EdgeRouteHandler } from './types';\n\n/**\n * Wraps a Next.js edge route handler with Sentry error and performance instrumentation.\n */\nexport function wrapApiHandlerWithSentry<H extends EdgeRouteHandler>(\n handler: H,\n parameterizedRoute: string,\n): (...params: Parameters<H>) => Promise<ReturnType<H>> {\n return new Proxy(handler, {\n apply: async (wrappingTarget, thisArg, args: Parameters<H>) => {\n // TODO: We still should add central isolation scope creation for when our build-time instrumentation does not work anymore with turbopack.\n\n return withIsolationScope(isolationScope => {\n const req: unknown = args[0];\n const currentScope = getCurrentScope();\n\n let headerAttributes: Record<string, string> = {};\n\n if (req instanceof Request) {\n isolationScope.setSDKProcessingMetadata({\n normalizedRequest: winterCGRequestToRequestData(req),\n });\n currentScope.setTransactionName(`${req.method} ${parameterizedRoute}`);\n headerAttributes = addHeadersAsAttributes(req.headers);\n } else {\n currentScope.setTransactionName(`handler (${parameterizedRoute})`);\n }\n\n let spanName: string;\n let op: string | undefined = 'http.server';\n\n // If there is an active span, it likely means that the automatic Next.js OTEL instrumentation worked and we can\n // rely on that for parameterization.\n const activeSpan = getActiveSpan();\n if (activeSpan) {\n spanName = `handler (${parameterizedRoute})`;\n op = undefined;\n\n const rootSpan = getRootSpan(activeSpan);\n if (rootSpan) {\n rootSpan.updateName(\n req instanceof Request ? `${req.method} ${parameterizedRoute}` : `handler ${parameterizedRoute}`,\n );\n rootSpan.setAttributes({\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'http.server',\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'route',\n ...headerAttributes,\n });\n setCapturedScopesOnSpan(rootSpan, currentScope, isolationScope);\n }\n } else if (req instanceof Request) {\n spanName = `${req.method} ${parameterizedRoute}`;\n } else {\n spanName = `handler ${parameterizedRoute}`;\n }\n\n return startSpan(\n {\n name: spanName,\n op: op,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'route',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.nextjs.wrap_api_handler',\n ...headerAttributes,\n },\n },\n () => {\n return handleCallbackErrors(\n () => wrappingTarget.apply(thisArg, args),\n error => {\n captureException(error, {\n mechanism: {\n type: 'auto.function.nextjs.wrap_api_handler',\n handled: false,\n },\n });\n },\n () => {\n waitUntil(flushSafelyWithTimeout());\n },\n );\n },\n );\n });\n },\n });\n}\n"],"names":["withIsolationScope","getCurrentScope","winterCGRequestToRequestData","addHeadersAsAttributes","getActiveSpan","getRootSpan","SEMANTIC_ATTRIBUTE_SENTRY_OP","SEMANTIC_ATTRIBUTE_SENTRY_SOURCE","setCapturedScopesOnSpan","startSpan","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","handleCallbackErrors","captureException","waitUntil","flushSafelyWithTimeout"],"mappings":"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"}