UNPKG

@sentry/core

Version:
50 lines (46 loc) • 2.28 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const currentScopes = require('../currentScopes.js'); const tunnel = require('./tunnel.js'); let managedTunnelDefaults; const tunnelForwarders = /* @__PURE__ */ new WeakMap(); const installedSpanFilters = /* @__PURE__ */ new WeakMap(); function setManagedTunnelDefaults(defaults) { managedTunnelDefaults = { ...managedTunnelDefaults, ...defaults.tunnel && { tunnel: defaults.tunnel, forward: defaults.forward }, ...defaults.basePath !== void 0 && { basePath: defaults.basePath } }; applyManagedTunnelDefaults(currentScopes.getClient()); } function enableManagedTunnel(client, tunnelOptions, forward) { client.getOptions()._managedTunnel = { ...tunnelOptions }; tunnelForwarders.set(client, forward); applyManagedTunnelDefaults(client); } function applyManagedTunnelDefaults(client) { const options = client?.getOptions(); const tunnelOptions = options?._managedTunnel ?? managedTunnelDefaults?.tunnel; const forward = client && (tunnelForwarders.get(client) ?? tunnel.getServeTunnelForwarder(client) ?? managedTunnelDefaults?.forward); if (!client || !options || !tunnelOptions || !forward) { return; } const basePath = tunnel.normalizeTunnelBasePath(managedTunnelDefaults?.basePath); const resolved = tunnelOptions.basePath === void 0 && !tunnelOptions.path && basePath ? { ...tunnelOptions, basePath } : tunnelOptions; options._managedTunnel = resolved; const { paths } = tunnel.setServedTunnel(client, resolved, forward); const previousFilters = installedSpanFilters.get(client) ?? []; const spanFilters = tunnel.getTunnelIgnoreSpanFilters(resolved, paths); options.ignoreSpans = [ ...(options.ignoreSpans ?? []).filter((filter) => !previousFilters.includes(filter)), ...spanFilters ]; installedSpanFilters.set(client, spanFilters); } function _INTERNAL_resetManagedTunnelDefaults() { managedTunnelDefaults = void 0; } exports._INTERNAL_resetManagedTunnelDefaults = _INTERNAL_resetManagedTunnelDefaults; exports.applyManagedTunnelDefaults = applyManagedTunnelDefaults; exports.enableManagedTunnel = enableManagedTunnel; exports.setManagedTunnelDefaults = setManagedTunnelDefaults; //# sourceMappingURL=managedTunnelDefaults.js.map