UNPKG

@sentry/nextjs

Version:
32 lines (29 loc) • 1.17 kB
import { suppressTracing, handleTunnelRequest, makeDsn, dsnToString, getClient } from '@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 suppressTracing(() => handleTunnelRequest(request, { allowedDsns })); } }; } const POST = createSentryTunnelRoute().POST; function getServerDsns() { const dsn = getClient()?.getDsn(); return dsn ? [dsnToString(dsn)] : []; } function normalizeDsns(dsns) { return dsns.flatMap((dsn) => { const dsnComponents = makeDsn(dsn.trim()); return dsnComponents ? [dsnToString(dsnComponents)] : []; }); } export { POST, createSentryTunnelRoute }; //# sourceMappingURL=index.js.map