Добрый день.
Использую библиотеку axios. По умолчанию, axios автоматически осуществляет переход при редиректе. Но у меня возникла задача перехватить редирект и обработать его особым образом. И я не могу придумать как это правильно сделать.
В документации есть пример, как мы можем ограничить успешные ответы только статусами из диапазона 2xx, используя настройку validateStatus.
Но есть две проблемы.
1. Мне нужно перехватывать редирект только для одного конкретного запроса. Для всех остальных запросов должно сохраняться поведение по умолчанию. Т. Е. Должен осуществляться автоматический переход.
2. В этом случае любые не 2xx ответы будут считаться неуспешными. И обработку необходимо будет проводить в блоке catch, что я считаю совершенно неправильным. Поскольку в моём случае 302 статус - это именно то, что я ожидаю. Это не ошибка. Мне просто нужно предотвратить переход по url из location и самостоятельно обработать такой ответ.
Есть ли какой-нибудь изящный способ реализовать данную задачу?
// `maxRedirects` defines the maximum number of redirects to follow in node.js.
// If set to 0, no redirects will be followed.
maxRedirects: 21// default