Skip to content

Commit 1876d19

Browse files
committed
destroy request on error to avoid hanging sockets
On timeout or other errors the socket was left open; destroy the request so the socket is properly closed. Issue: HD-4352
1 parent 0312453 commit 1876d19

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

lib/src/hdcontroller.js

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/hdcontroller.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,13 @@ function _createRequest(req: http.RequestOptions, log: werelogs.RequestLogger,
4747
}).on('error', (err: HDProxydError) => {
4848
if (!callbackCalled) {
4949
callbackCalled = true;
50+
request.destroy(err);
5051
return callback(err);
5152
}
5253
if (err.code !== 'ERR_SOCKET_TIMEOUT') {
5354
log.error('got socket error after response', { err });
5455
}
56+
request.destroy(err);
5557
return null;
5658
});
5759

@@ -280,7 +282,7 @@ export class HDProxydClient {
280282
method: '_handleRequest',
281283
component: 'sproxydclient',
282284
});
283-
request.end();
285+
request.destroy(err);
284286
});
285287
} else {
286288
headers['content-length'] = isBatchDelete ? size : 0;

0 commit comments

Comments
 (0)