File: /home/cafsindia/snap.cafsinfotech.in/node_modules/@sentry/core/cjs/server-runtime-client.js.map
{"version":3,"file":"server-runtime-client.js","sources":["../../src/server-runtime-client.ts"],"sourcesContent":["import type {\n BaseTransportOptions,\n CheckIn,\n ClientOptions,\n DynamicSamplingContext,\n Event,\n EventHint,\n MonitorConfig,\n SerializedCheckIn,\n Severity,\n SeverityLevel,\n TraceContext,\n} from '@sentry/types';\nimport { eventFromMessage, eventFromUnknownInput, logger, resolvedSyncPromise, uuid4 } from '@sentry/utils';\n\nimport { BaseClient } from './baseclient';\nimport { createCheckInEnvelope } from './checkin';\nimport { getCurrentHub } from './hub';\nimport type { Scope } from './scope';\nimport { SessionFlusher } from './sessionflusher';\nimport { addTracingExtensions, getDynamicSamplingContextFromClient } from './tracing';\n\nexport interface ServerRuntimeClientOptions extends ClientOptions<BaseTransportOptions> {\n platform?: string;\n runtime?: { name: string; version?: string };\n serverName?: string;\n}\n\n/**\n * The Sentry Server Runtime Client SDK.\n */\nexport class ServerRuntimeClient<\n O extends ClientOptions & ServerRuntimeClientOptions = ServerRuntimeClientOptions,\n> extends BaseClient<O> {\n protected _sessionFlusher: SessionFlusher | undefined;\n\n /**\n * Creates a new Edge SDK instance.\n * @param options Configuration options for this SDK.\n */\n public constructor(options: O) {\n // Server clients always support tracing\n addTracingExtensions();\n\n super(options);\n }\n\n /**\n * @inheritDoc\n */\n public eventFromException(exception: unknown, hint?: EventHint): PromiseLike<Event> {\n return resolvedSyncPromise(eventFromUnknownInput(getCurrentHub, this._options.stackParser, exception, hint));\n }\n\n /**\n * @inheritDoc\n */\n public eventFromMessage(\n message: string,\n // eslint-disable-next-line deprecation/deprecation\n level: Severity | SeverityLevel = 'info',\n hint?: EventHint,\n ): PromiseLike<Event> {\n return resolvedSyncPromise(\n eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace),\n );\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint, scope?: Scope): string | undefined {\n // Check if the flag `autoSessionTracking` is enabled, and if `_sessionFlusher` exists because it is initialised only\n // when the `requestHandler` middleware is used, and hence the expectation is to have SessionAggregates payload\n // sent to the Server only when the `requestHandler` middleware is used\n if (this._options.autoSessionTracking && this._sessionFlusher && scope) {\n const requestSession = scope.getRequestSession();\n\n // Necessary checks to ensure this is code block is executed only within a request\n // Should override the status only if `requestSession.status` is `Ok`, which is its initial stage\n if (requestSession && requestSession.status === 'ok') {\n requestSession.status = 'errored';\n }\n }\n\n return super.captureException(exception, hint, scope);\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint, scope?: Scope): string | undefined {\n // Check if the flag `autoSessionTracking` is enabled, and if `_sessionFlusher` exists because it is initialised only\n // when the `requestHandler` middleware is used, and hence the expectation is to have SessionAggregates payload\n // sent to the Server only when the `requestHandler` middleware is used\n if (this._options.autoSessionTracking && this._sessionFlusher && scope) {\n const eventType = event.type || 'exception';\n const isException =\n eventType === 'exception' && event.exception && event.exception.values && event.exception.values.length > 0;\n\n // If the event is of type Exception, then a request session should be captured\n if (isException) {\n const requestSession = scope.getRequestSession();\n\n // Ensure that this is happening within the bounds of a request, and make sure not to override\n // Session Status if Errored / Crashed\n if (requestSession && requestSession.status === 'ok') {\n requestSession.status = 'errored';\n }\n }\n }\n\n return super.captureEvent(event, hint, scope);\n }\n\n /**\n *\n * @inheritdoc\n */\n public close(timeout?: number): PromiseLike<boolean> {\n if (this._sessionFlusher) {\n this._sessionFlusher.close();\n }\n return super.close(timeout);\n }\n\n /** Method that initialises an instance of SessionFlusher on Client */\n public initSessionFlusher(): void {\n const { release, environment } = this._options;\n if (!release) {\n __DEBUG_BUILD__ && logger.warn('Cannot initialise an instance of SessionFlusher if no release is provided!');\n } else {\n this._sessionFlusher = new SessionFlusher(this, {\n release,\n environment,\n });\n }\n }\n\n /**\n * Create a cron monitor check in and send it to Sentry.\n *\n * @param checkIn An object that describes a check in.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\n public captureCheckIn(checkIn: CheckIn, monitorConfig?: MonitorConfig, scope?: Scope): string {\n const id = checkIn.status !== 'in_progress' && checkIn.checkInId ? checkIn.checkInId : uuid4();\n if (!this._isEnabled()) {\n __DEBUG_BUILD__ && logger.warn('SDK not enabled, will not capture checkin.');\n return id;\n }\n\n const options = this.getOptions();\n const { release, environment, tunnel } = options;\n\n const serializedCheckIn: SerializedCheckIn = {\n check_in_id: id,\n monitor_slug: checkIn.monitorSlug,\n status: checkIn.status,\n release,\n environment,\n };\n\n if (checkIn.status !== 'in_progress') {\n serializedCheckIn.duration = checkIn.duration;\n }\n\n if (monitorConfig) {\n serializedCheckIn.monitor_config = {\n schedule: monitorConfig.schedule,\n checkin_margin: monitorConfig.checkinMargin,\n max_runtime: monitorConfig.maxRuntime,\n timezone: monitorConfig.timezone,\n };\n }\n\n const [dynamicSamplingContext, traceContext] = this._getTraceInfoFromScope(scope);\n if (traceContext) {\n serializedCheckIn.contexts = {\n trace: traceContext,\n };\n }\n\n const envelope = createCheckInEnvelope(\n serializedCheckIn,\n dynamicSamplingContext,\n this.getSdkMetadata(),\n tunnel,\n this.getDsn(),\n );\n\n __DEBUG_BUILD__ && logger.info('Sending checkin:', checkIn.monitorSlug, checkIn.status);\n void this._sendEnvelope(envelope);\n return id;\n }\n\n /**\n * Method responsible for capturing/ending a request session by calling `incrementSessionStatusCount` to increment\n * appropriate session aggregates bucket\n */\n protected _captureRequestSession(): void {\n if (!this._sessionFlusher) {\n __DEBUG_BUILD__ && logger.warn('Discarded request mode session because autoSessionTracking option was disabled');\n } else {\n this._sessionFlusher.incrementSessionStatusCount();\n }\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, hint: EventHint, scope?: Scope): PromiseLike<Event | null> {\n if (this._options.platform) {\n event.platform = event.platform || this._options.platform;\n }\n\n if (this._options.runtime) {\n event.contexts = {\n ...event.contexts,\n runtime: (event.contexts || {}).runtime || this._options.runtime,\n };\n }\n\n if (this._options.serverName) {\n event.server_name = event.server_name || this._options.serverName;\n }\n\n return super._prepareEvent(event, hint, scope);\n }\n\n /** Extract trace information from scope */\n private _getTraceInfoFromScope(\n scope: Scope | undefined,\n ): [dynamicSamplingContext: Partial<DynamicSamplingContext> | undefined, traceContext: TraceContext | undefined] {\n if (!scope) {\n return [undefined, undefined];\n }\n\n const span = scope.getSpan();\n if (span) {\n const samplingContext = span.transaction ? span.transaction.getDynamicSamplingContext() : undefined;\n return [samplingContext, span.getTraceContext()];\n }\n\n const { traceId, spanId, parentSpanId, dsc } = scope.getPropagationContext();\n const traceContext: TraceContext = {\n trace_id: traceId,\n span_id: spanId,\n parent_span_id: parentSpanId,\n };\n if (dsc) {\n return [dsc, traceContext];\n }\n\n return [getDynamicSamplingContextFromClient(traceId, this, scope), traceContext];\n }\n}\n"],"names":["BaseClient","addTracingExtensions","resolvedSyncPromise","eventFromUnknownInput","getCurrentHub","eventFromMessage","logger","SessionFlusher","uuid4","createCheckInEnvelope","getDynamicSamplingContextFromClient"],"mappings":"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"}