UNPKG

@sentry/nextjs

Version:
35 lines (31 loc) • 1.25 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const core = require('@sentry/core'); function createSentryTunnelRoute(options = {}) { const allowedDsnsFromOptions = options.allowedDsns?.length ? normalizeDsns(options.allowedDsns) : void 0; return { POST: async (request) => { const allowedDsns = allowedDsnsFromOptions ?? getServerDsns(); if (!allowedDsns.length) { return new Response( allowedDsnsFromOptions ? "Tunnel route has no valid DSN in allowedDsns." : "Tunnel route requires Sentry server SDK initialized with a DSN, or pass allowedDsns explicitly.", { status: 500 } ); } return core.suppressTracing(() => core.handleTunnelRequest(request, { allowedDsns })); } }; } const POST = createSentryTunnelRoute().POST; function getServerDsns() { const dsn = core.getClient()?.getDsn(); return dsn ? [core.dsnToString(dsn)] : []; } function normalizeDsns(dsns) { return dsns.flatMap((dsn) => { const dsnComponents = core.makeDsn(dsn.trim()); return dsnComponents ? [core.dsnToString(dsnComponents)] : []; }); } exports.POST = POST; exports.createSentryTunnelRoute = createSentryTunnelRoute; //# sourceMappingURL=index.js.map