Skip to content

Commit 1498fe5

Browse files
fuzzybinaryBenoitZugmeyermormubis
authored
✨ [RUM-11701] Add unity as a source override (#3838)
* ✨ [RUM-11701] Add unity as a source override Source overrides only currently support Flutter, and should support Unity as a source override as well. * Update packages/core/src/domain/configuration/transportConfiguration.ts Co-authored-by: Benoît <[email protected]> * Update packages/core/src/domain/configuration/transportConfiguration.ts Co-authored-by: Adrian de la Rosa <[email protected]> --------- Co-authored-by: Benoît <[email protected]> Co-authored-by: Adrian de la Rosa <[email protected]>
1 parent bc0673b commit 1498fe5

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

packages/core/src/domain/configuration/configuration.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ export interface InitConfiguration {
223223
*
224224
* @internal
225225
*/
226-
source?: 'browser' | 'flutter' | undefined
226+
source?: 'browser' | 'flutter' | 'unity' | undefined
227227

228228
/**
229229
* [Internal option] Additional configuration for the SDK.
@@ -286,7 +286,7 @@ export interface Configuration extends TransportConfiguration {
286286

287287
// internal
288288
sdkVersion: string | undefined
289-
source: 'browser' | 'flutter'
289+
source: 'browser' | 'flutter' | 'unity'
290290
variant: string | undefined
291291
}
292292

packages/core/src/domain/configuration/endpointBuilder.spec.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,16 @@ describe('endpointBuilder', () => {
158158
expect(endpoint).toContain('ddsource=browser')
159159
})
160160

161-
it('should source when provided', () => {
161+
it('should use flutter source when provided', () => {
162162
const config = { ...initConfiguration, source: 'flutter' as const }
163163
const endpoint = createEndpointBuilder(config, 'rum').build('fetch', DEFAULT_PAYLOAD)
164164
expect(endpoint).toContain('ddsource=flutter')
165165
})
166+
167+
it('should use unity source when provided', () => {
168+
const config = { ...initConfiguration, source: 'unity' as const }
169+
const endpoint = createEndpointBuilder(config, 'rum').build('fetch', DEFAULT_PAYLOAD)
170+
expect(endpoint).toContain('ddsource=unity')
171+
})
166172
})
167173
})

packages/core/src/domain/configuration/transportConfiguration.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export interface TransportConfiguration {
1313
datacenter?: string | undefined
1414
replica?: ReplicaConfiguration
1515
site: Site
16-
source: 'browser' | 'flutter'
16+
source: 'browser' | 'flutter' | 'unity'
1717
}
1818

1919
export interface ReplicaConfiguration {
@@ -23,7 +23,7 @@ export interface ReplicaConfiguration {
2323

2424
export function computeTransportConfiguration(initConfiguration: InitConfiguration): TransportConfiguration {
2525
const site = initConfiguration.site || INTAKE_SITE_US1
26-
const source = initConfiguration.source === 'flutter' ? 'flutter' : 'browser'
26+
const source = validateSource(initConfiguration.source)
2727

2828
const endpointBuilders = computeEndpointBuilders({ ...initConfiguration, site, source })
2929
const replicaConfiguration = computeReplicaConfiguration({ ...initConfiguration, site, source })
@@ -36,6 +36,13 @@ export function computeTransportConfiguration(initConfiguration: InitConfigurati
3636
}
3737
}
3838

39+
function validateSource(source: string | undefined) {
40+
if (source === 'flutter' || source === 'unity') {
41+
return source
42+
}
43+
return 'browser'
44+
}
45+
3946
function computeEndpointBuilders(initConfiguration: InitConfiguration) {
4047
return {
4148
logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs'),

0 commit comments

Comments
 (0)