Skip to content

Commit 74ae021

Browse files
W-A-Jamesnbbeeken
authored andcommitted
throw MongoOperationTimeoutError instead of TimeoutError
1 parent 8d83bf5 commit 74ae021

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/cmap/wire_protocol/on_data.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { type EventEmitter } from 'events';
22

3-
import { Timeout } from '../../timeout';
3+
import { MongoOperationTimeoutError } from '../../error';
4+
import { Timeout, TimeoutError } from '../../timeout';
45
import { List, promiseWithResolvers } from '../../utils';
56

67
/**
@@ -102,8 +103,12 @@ export function onData(emitter: EventEmitter, { timeoutMS }: { timeoutMS: number
102103

103104
function errorHandler(err: Error) {
104105
const promise = unconsumedPromises.shift();
105-
if (promise != null) promise.reject(err);
106-
else error = err;
106+
const timeoutError = TimeoutError.is(err)
107+
? new MongoOperationTimeoutError('Timed out during socket read')
108+
: undefined;
109+
110+
if (promise != null) promise.reject(timeoutError ?? err);
111+
else error = timeoutError ?? err;
107112
void closeHandler();
108113
}
109114

0 commit comments

Comments
 (0)