ReactJS: Как связать Sentry и Axios?

  • четверг, 11 мая 2017 г. в 12:13:24

Сейчас занимаюсь разработкой своего нового проекта на ReactJS + ES6. Суть проекта заключается в том, что в нём будут собраны все самые полезные регулярные выражения на все случаи жизни. Дизайн для проекта я разработал сам и реализация проекта пока тоже на мне. Ловлю кайф от одной разработки проекта на ReactJS. Пока пробежался только по самому основному в данной библиотеки. Читаю в основном статьи из Medium. Серверную реализовал на NodeJS + Express + ES6. И для полного счастья, решил реализовать отладку своего SPA с помощью Sentry.

Ничего интересного для ReactJS я не нашел в документации. Как я уже понял, смысла в том, чтобы заморачиваться над реализацией Sentry для ReactJS нету, ибо все элементарно. Для реализации HTTP-запросов я использовал axios (как уже понятно из заголовка статьи) и пихать функцию captureException в каждый запрос, мне не очень хотелось.

Для того, чтобы реализовать что-то вроде middleware в axios, я использовал следующее решение:


_10
import axios from 'axios';
_10
_10
Raven.config('RAVEN_URL').install();
_10
_10
axios.interceptors.response.use((response) => response, (error) => {
_10
Raven.captureException(error);
_10
return Promise.reject(error);
_10
});

Согласен, ничего сверхъестественного тут нету. Однако, благодаря такой связке, делать отладку всех HTTP-запросов мне стало немного удобней. Далее, хочу подключить Sentry на серверную.

P.S.: Если же у вас есть решение лучше, отпишитесь в комментариях. Буду благодарен.

#axios#sentry#debug#debugging#reactjs sentry