Skip to content

Commit 7edb5c2

Browse files
authored
fix(service-provider-core): skip directConnection in URL when loadBalanced is set (#997)
1 parent fe0e9a4 commit 7edb5c2

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

packages/service-provider-core/src/uri-generator.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,14 @@ describe('uri-generator.generate-uri', () => {
125125
});
126126
});
127127

128+
context('including loadBalanced', () => {
129+
const uri = 'mongodb://192.0.0.1:27018/db?loadBalanced=true';
130+
const options = { connectionSpecifier: uri };
131+
it('does not add the directConnection parameter', () => {
132+
expect(generateUri(options)).to.equal(uri);
133+
});
134+
});
135+
128136
context('including explicit directConnection', () => {
129137
const uri = 'mongodb://192.0.0.1:27018/db?directConnection=false';
130138
const options = { connectionSpecifier: uri };

packages/service-provider-core/src/uri-generator.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ function generateUriNormalized(options: CliOptions): ConnectionString {
218218
function addShellConnectionStringParameters(uri: ConnectionString): ConnectionString {
219219
uri = uri.clone();
220220
const params = uri.searchParams;
221-
if (!params.has('replicaSet') && !params.has('directConnection') && uri.hosts.length === 1) {
221+
if (!params.has('replicaSet') && !params.has('directConnection') && !params.has('loadBalanced') && uri.hosts.length === 1) {
222222
params.set('directConnection', 'true');
223223
}
224224
if (!params.has('tlsCertificateFile') && params.has('tlsCertificateKeyFile')) {

0 commit comments

Comments
 (0)