Проблема оказалась внутри библиотеки
SocksProxyAgent. Уже не помню где читал, но где-то на GitHub писали, что такая ошибка вываливается как uncaught, потому что не висит обработчик на событии ошибки для
tls.connect
.
В итоге исправил
return tls.connect({
...omit(opts, 'host', 'hostname', 'path', 'port'),
socket,
servername
});
На следующий код
const tlsConnection = tls.connect({
...omit(opts, 'host', 'hostname', 'path', 'port'),
socket,
servername
});
tlsConnection.on('error', () => {
return null;
});
return tlsConnection;
Возможно имеет смысл ещё покопаться с библиотекой в поисках более изящного решения. Пока что не работает даже если выкидывать ошибку через
throw new Error()
. Если найду другое решение, отпишу в комменты