The single place a request-scoped envelope is built.
(
req: Request,
opts: { frontendProvided: boolean; anonymousId?: string },
)
| 63 | |
| 64 | /** The single place a request-scoped envelope is built. */ |
| 65 | private buildEnvelope( |
| 66 | req: Request, |
| 67 | opts: { frontendProvided: boolean; anonymousId?: string }, |
| 68 | ): EventEnvelope { |
| 69 | const { user } = req; |
| 70 | return { |
| 71 | userId: user?.accountId, |
| 72 | anonymousId: user ? undefined : opts.anonymousId, |
| 73 | context: { |
| 74 | ip: req.ip, |
| 75 | userAgent: req.headers["user-agent"], |
| 76 | app: { environment: telemetryEnvironment, frontendDomain }, |
| 77 | }, |
| 78 | baseProperties: { |
| 79 | environment: telemetryEnvironment, |
| 80 | frontendDomain, |
| 81 | shortname: user?.shortname, |
| 82 | frontendProvided: opts.frontendProvided, |
| 83 | }, |
| 84 | timestamp: new Date(), |
| 85 | }; |
| 86 | } |
| 87 | |
| 88 | /** Envelope for req-less callers: no IP/user-agent, never frontend-provided. */ |
| 89 | private buildActorEnvelope(actor: TelemetryActor): EventEnvelope { |
no outgoing calls
no test coverage detected