Skip to content

Commit 9fb3d86

Browse files
committed
refactor(topologies): connect options should extend clonedOptions
NODE-1132
1 parent 226c803 commit 9fb3d86

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

lib/mongos.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ var EventEmitter = require('events').EventEmitter,
1717
filterOptions = require('./utils').filterOptions,
1818
mergeOptions = require('./utils').mergeOptions,
1919
getReadPreference = require('./utils').getReadPreference,
20-
os = require('os');
20+
os = require('os'),
21+
assign = require('./utils').assign;
2122

2223
// Get package.json variable
2324
var driverVersion = require('../package.json').version;
@@ -276,6 +277,7 @@ Mongos.prototype.connect = function(db, _options, callback) {
276277
if ('function' === typeof _options) (callback = _options), (_options = {});
277278
if (_options == null) _options = {};
278279
if (!('function' === typeof callback)) callback = null;
280+
_options = assign({}, this.s.clonedOptions, _options);
279281
self.s.options = _options;
280282

281283
// Update bufferMaxEntries

lib/replset.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ var EventEmitter = require('events').EventEmitter,
1919
filterOptions = require('./utils').filterOptions,
2020
getReadPreference = require('./utils').getReadPreference,
2121
mergeOptions = require('./utils').mergeOptions,
22-
os = require('os');
22+
os = require('os'),
23+
assign = require('./utils').assign;
24+
2325
/**
2426
* @fileOverview The **ReplSet** class is a class that represents a Replicaset topology and is
2527
* used to construct connections.
@@ -312,6 +314,7 @@ ReplSet.prototype.connect = function(db, _options, callback) {
312314
if ('function' === typeof _options) (callback = _options), (_options = {});
313315
if (_options == null) _options = {};
314316
if (!('function' === typeof callback)) callback = null;
317+
_options = assign({}, this.s.clonedOptions, _options);
315318
self.s.options = _options;
316319

317320
// Update bufferMaxEntries

lib/server.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ var EventEmitter = require('events').EventEmitter,
1616
filterOptions = require('./utils').filterOptions,
1717
mergeOptions = require('./utils').mergeOptions,
1818
getReadPreference = require('./utils').getReadPreference,
19-
os = require('os');
19+
os = require('os'),
20+
assign = require('./utils').assign;
2021

2122
// Get package.json variable
2223
var driverVersion = require('../package.json').version;
@@ -295,8 +296,9 @@ Object.defineProperty(Server.prototype, 'port', {
295296
Server.prototype.connect = function(_options, callback) {
296297
var self = this;
297298
if ('function' === typeof _options) (callback = _options), (_options = {});
298-
if (_options == null) _options = {};
299+
if (_options == null) _options = this.s.clonedOptions;
299300
if (!('function' === typeof callback)) callback = null;
301+
_options = assign({}, this.s.clonedOptions, _options);
300302
self.s.options = _options;
301303

302304
// Update bufferMaxEntries

0 commit comments

Comments
 (0)