UNPKG

@sentry/remix

Version:
52 lines (48 loc) • 1.72 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const core = require('@sentry/core'); const server = require('@sentry/core/server'); const debugBuild = require('../utils/debug-build.js'); const utils = require('../utils/utils.js'); function generateSentryServerTimingHeader() { if (!server.isNodeEnv() && !utils.isCloudflareEnv()) { return null; } try { const traceData = core.getTraceData(); const sentryTrace = traceData["sentry-trace"]; const baggage = traceData.baggage; if (!sentryTrace) { return null; } const parts = []; parts.push(`sentry-trace;desc="${sentryTrace}"`); if (baggage) { parts.push(`baggage;desc="${baggage}"`); } return parts.join(", "); } catch (e) { debugBuild.DEBUG_BUILD && core.debug.warn("Failed to generate Server-Timing header", e); return null; } } function injectServerTimingHeaderValue(response, serverTimingValue) { try { const headers = new Headers(response.headers); const existing = headers.get("Server-Timing"); if (existing?.includes("sentry-trace")) { return response; } headers.set("Server-Timing", existing ? `${existing}, ${serverTimingValue}` : serverTimingValue); return new Response(response.body, { status: response.status, statusText: response.statusText, headers }); } catch (e) { debugBuild.DEBUG_BUILD && core.debug.warn("Failed to add Server-Timing header to response", e); return response; } } exports.generateSentryServerTimingHeader = generateSentryServerTimingHeader; exports.injectServerTimingHeaderValue = injectServerTimingHeaderValue; //# sourceMappingURL=serverTimingTracePropagation.js.map