@@ -465,7 +465,7 @@ export function onChangedOperation<Ref extends string>(
465
465
// wrap the handler
466
466
const func = ( raw : CloudEvent < unknown > ) => {
467
467
const event = raw as RawRTDBCloudEvent ;
468
- const instanceUrl = `https:// ${ event . instance } . ${ event . firebasedatabasehost } ` ;
468
+ const instanceUrl = getInstance ( event ) ;
469
469
const params = makeParams ( event , pathPattern , instancePattern ) as unknown as ParamsOf < Ref > ;
470
470
const databaseEvent = makeChangedDatabaseEvent ( event , instanceUrl , params ) ;
471
471
return wrapTraceContext ( handler ) ( databaseEvent ) ;
@@ -492,7 +492,7 @@ export function onOperation<Ref extends string>(
492
492
// wrap the handler
493
493
const func = ( raw : CloudEvent < unknown > ) => {
494
494
const event = raw as RawRTDBCloudEvent ;
495
- const instanceUrl = `https:// ${ event . instance } . ${ event . firebasedatabasehost } ` ;
495
+ const instanceUrl = getInstance ( event ) ;
496
496
const params = makeParams ( event , pathPattern , instancePattern ) as unknown as ParamsOf < Ref > ;
497
497
const data = eventType === deletedEventType ? event . data . data : event . data . delta ;
498
498
const databaseEvent = makeDatabaseEvent ( event , data , instanceUrl , params ) ;
@@ -505,3 +505,10 @@ export function onOperation<Ref extends string>(
505
505
506
506
return func ;
507
507
}
508
+
509
+ function getInstance ( event : RawRTDBCloudEvent ) {
510
+ const emuHost = process . env . FIREBASE_DATABASE_EMULATOR_HOST ;
511
+ return emuHost
512
+ ? `http://${ emuHost } /?ns=${ event . instance } `
513
+ : `https://${ event . instance } .${ event . firebasedatabasehost } ` ;
514
+ }
0 commit comments