Skip to content
This repository was archived by the owner on Feb 4, 2022. It is now read-only.

Commit 83e224b

Browse files
committedMay 15, 2019
fix(connect): fixed syntax issue in connect error handler
Connect error handler was attempting to read properties off of an error that had a chance of being null. Removed that, and replaced the error generation to be more explicit. Fixes NODE-1960
1 parent 5e53b0e commit 83e224b

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed
 

‎lib/connection/connect.js

+14-2
Original file line numberDiff line numberDiff line change
@@ -281,10 +281,9 @@ function makeConnection(family, options, _callback) {
281281
const errorEvents = ['error', 'close', 'timeout', 'parseError', 'connect'];
282282
function errorHandler(eventName) {
283283
return err => {
284-
if (err == null || err === false) err = true;
285284
errorEvents.forEach(event => socket.removeAllListeners(event));
286285
socket.removeListener('connect', connectHandler);
287-
callback(new MongoNetworkError(err.message), eventName);
286+
callback(connectionFailureError(eventName, err), eventName);
288287
};
289288
}
290289

@@ -355,4 +354,17 @@ function authenticate(conn, credentials, callback) {
355354
});
356355
}
357356

357+
function connectionFailureError(type, err) {
358+
switch (type) {
359+
case 'error':
360+
return new MongoNetworkError(err);
361+
case 'timeout':
362+
return new MongoNetworkError(`connection timed out`);
363+
case 'close':
364+
return new MongoNetworkError(`connection closed`);
365+
default:
366+
return new MongoNetworkError(`unknown network error`);
367+
}
368+
}
369+
358370
module.exports = connect;

0 commit comments

Comments
 (0)
This repository has been archived.