UNPKG

@sentry/core

Version:
45 lines (42 loc) 1.91 kB
import { dsnToString } from './utils/dsn.js'; import { getSdkMetadataForEnvelopeHeader, createEventEnvelopeHeaders, createEnvelope } from './utils/envelope.js'; import { safeDateNow } from './utils/randomSafeContext.js'; function _enhanceEventWithSdkInfo(event, newSdkInfo) { if (!newSdkInfo) { return event; } const eventSdkInfo = event.sdk || {}; event.sdk = { ...eventSdkInfo, name: eventSdkInfo.name || newSdkInfo.name, version: eventSdkInfo.version || newSdkInfo.version, integrations: [...event.sdk?.integrations || [], ...newSdkInfo.integrations || []], packages: [...event.sdk?.packages || [], ...newSdkInfo.packages || []], settings: event.sdk?.settings || newSdkInfo.settings ? { ...event.sdk?.settings, ...newSdkInfo.settings } : void 0 }; return event; } function createSessionEnvelope(session, dsn, metadata, tunnel) { const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata); const envelopeHeaders = { sent_at: new Date(safeDateNow()).toISOString(), ...sdkInfo && { sdk: sdkInfo }, ...!!tunnel && dsn && { dsn: dsnToString(dsn) } }; const envelopeItem = "aggregates" in session ? [{ type: "sessions" }, session] : [{ type: "session" }, session.toJSON()]; return createEnvelope(envelopeHeaders, [envelopeItem]); } function createEventEnvelope(event, dsn, metadata, tunnel) { const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata); const eventType = event.type && event.type !== "replay_event" ? event.type : "event"; _enhanceEventWithSdkInfo(event, metadata?.sdk); const envelopeHeaders = createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn); delete event.sdkProcessingMetadata; const eventItem = [{ type: eventType }, event]; return createEnvelope(envelopeHeaders, [eventItem]); } export { _enhanceEventWithSdkInfo, createEventEnvelope, createSessionEnvelope }; //# sourceMappingURL=envelope.js.map