Skip to content

Commit da5b7bf

Browse files
committed
Passed in emulator information
1 parent 32c461a commit da5b7bf

File tree

8 files changed

+20
-11
lines changed

8 files changed

+20
-11
lines changed

packages/firestore/src/core/database_info.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ export class DatabaseInfo {
4848
readonly forceLongPolling: boolean,
4949
readonly autoDetectLongPolling: boolean,
5050
readonly longPollingOptions: ExperimentalLongPollingOptions,
51-
readonly useFetchStreams: boolean
51+
readonly useFetchStreams: boolean,
52+
readonly isUsingEmulator: boolean
5253
) {}
5354
}
5455

packages/firestore/src/lite-api/components.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import { Datastore, newDatastore } from '../remote/datastore';
2828
import { Code, FirestoreError } from '../util/error';
2929
import { logDebug } from '../util/log';
3030

31-
import { FirestoreSettingsImpl } from './settings';
31+
import { FirestoreSettingsImpl, PrivateSettings } from './settings';
3232

3333
export const LOG_TAG = 'ComponentProvider';
3434

@@ -110,6 +110,7 @@ export function makeDatabaseInfo(
110110
persistenceKey: string,
111111
settings: FirestoreSettingsImpl
112112
): DatabaseInfo {
113+
const privateSettings = settings as PrivateSettings;
113114
return new DatabaseInfo(
114115
databaseId,
115116
appId,
@@ -119,6 +120,7 @@ export function makeDatabaseInfo(
119120
settings.experimentalForceLongPolling,
120121
settings.experimentalAutoDetectLongPolling,
121122
cloneLongPollingOptions(settings.experimentalLongPollingOptions),
122-
settings.useFetchStreams
123+
settings.useFetchStreams,
124+
privateSettings.emulatorOptions !== undefined
123125
);
124126
}

packages/firestore/src/platform/browser/webchannel_connection.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ export class WebChannelConnection extends RestConnection {
7171
rpcName: string,
7272
url: string,
7373
headers: StringMap,
74-
body: Req
74+
body: Req,
75+
_isUsingEmulator: boolean
7576
): Promise<Resp> {
7677
const streamId = generateUniqueDebugId();
7778
return new Promise((resolve: Resolver<Resp>, reject: Rejecter) => {

packages/firestore/src/platform/browser_lite/fetch_connection.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ export class FetchConnection extends RestConnection {
4040
rpcName: string,
4141
url: string,
4242
headers: StringMap,
43-
body: Req
43+
body: Req,
44+
isUsingEmulator: boolean
4445
): Promise<Resp> {
4546
const requestJson = JSON.stringify(body);
4647
let response: Response;
@@ -51,7 +52,7 @@ export class FetchConnection extends RestConnection {
5152
headers,
5253
body: requestJson
5354
};
54-
if (isCloudWorkstation(url)) {
55+
if (isCloudWorkstation(url) && isUsingEmulator) {
5556
fetchArgs.credentials = 'include';
5657
}
5758
response = await fetch(url, fetchArgs);

packages/firestore/src/remote/rest_connection.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ export abstract class RestConnection implements Connection {
9898
};
9999
this.modifyHeadersForRequest(headers, authToken, appCheckToken);
100100

101-
return this.performRPCRequest<Req, Resp>(rpcName, url, headers, req).then(
101+
return this.performRPCRequest<Req, Resp>(rpcName, url, headers, req, this.databaseInfo.isUsingEmulator).then(
102102
response => {
103103
logDebug(LOG_TAG, `Received RPC '${rpcName}' ${streamId}: `, response);
104104
return response;
@@ -179,7 +179,8 @@ export abstract class RestConnection implements Connection {
179179
rpcName: string,
180180
url: string,
181181
headers: StringMap,
182-
body: Req
182+
body: Req,
183+
isUsingEmulator: boolean
183184
): Promise<Resp>;
184185

185186
private makeUrl(rpcName: string, path: string): string {

packages/firestore/test/integration/util/internal_helpers.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ export function getDefaultDatabaseInfo(): DatabaseInfo {
6161
cloneLongPollingOptions(
6262
DEFAULT_SETTINGS.experimentalLongPollingOptions ?? {}
6363
),
64-
/*use FetchStreams= */ false
64+
/*use FetchStreams= */ false,
65+
/*isUsingEmulator=*/false
6566
);
6667
}
6768

packages/firestore/test/unit/remote/rest_connection.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ describe('RestConnection', () => {
6767
/*forceLongPolling=*/ false,
6868
/*autoDetectLongPolling=*/ false,
6969
/*longPollingOptions=*/ {},
70-
/*useFetchStreams=*/ false
70+
/*useFetchStreams=*/ false,
71+
/*isUsingEmulator=*/ false
7172
);
7273
const connection = new TestRestConnection(testDatabaseInfo);
7374

packages/firestore/test/unit/specs/spec_test_runner.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,8 @@ abstract class TestRunner {
282282
/*forceLongPolling=*/ false,
283283
/*autoDetectLongPolling=*/ false,
284284
/*longPollingOptions=*/ {},
285-
/*useFetchStreams=*/ false
285+
/*useFetchStreams=*/ false,
286+
/*isUsingEmulator=*/ false
286287
);
287288

288289
// TODO(mrschmidt): During client startup in `firestore_client`, we block

0 commit comments

Comments
 (0)