(dsn: string, release: string | undefined)
| 113 | }); |
| 114 | |
| 115 | function getTransport(dsn: string, release: string | undefined): [string, Transport] | undefined { |
| 116 | // We create a transport for every unique dsn/release combination as there may be code from multiple releases in |
| 117 | // use at the same time |
| 118 | const key = release ? `${dsn}:${release}` : dsn; |
| 119 | |
| 120 | let transport = otherTransports.get(key); |
| 121 | |
| 122 | if (!transport) { |
| 123 | const validatedDsn = dsnFromString(dsn); |
| 124 | if (!validatedDsn) { |
| 125 | return undefined; |
| 126 | } |
| 127 | const url = getEnvelopeEndpointWithUrlEncodedAuth(validatedDsn, options.tunnel); |
| 128 | |
| 129 | transport = release |
| 130 | ? makeOverrideReleaseTransport(createTransport, release)({ ...options, url }) |
| 131 | : createTransport({ ...options, url }); |
| 132 | |
| 133 | otherTransports.set(key, transport); |
| 134 | } |
| 135 | |
| 136 | return [dsn, transport]; |
| 137 | } |
| 138 | |
| 139 | async function send(envelope: Envelope): Promise<TransportMakeRequestResponse> { |
| 140 | function getEvent(types?: EnvelopeItemType[]): Event | undefined { |
no test coverage detected