Проблема в том, что когда ошибка приходит в ответ - она throw'ается из request модуля, и до закрытия сокета не доходит выполнение (как я понял)
Вопрос, можно ли свой агент пихнуть в реквест и руками закрыть/уничтожить его, при получении ответа/отлова ошибки в .catch()
let resp = rp({
method: 'GET',
url: 'http://httpstat.us/502?sleep=5000'
});
await resp.catch(e => {
resp.abort();
console.log('GOOD')
});
console.log(resp.response);
Вот тут все работает, в общем, как предполагается
Но когда сюда вставляются прокси в параметры, и происходит это все в среде BAS (Browser Automation Studio), как я понял, происходит что-то не то и в catch оно не попадает
*upd не сильно на мое объяснение полагайтесь при ответе, тоже пытаюсь помочь и это то, как я вижу проблему