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

Дата: 11.05.2017 в 15:13, Категория: ReactJS
  • 1222
  • 90
ReactJS: Как связать Sentry и Axios?

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

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

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

import axios from 'axios';

Raven.config('RAVEN_URL').install();

axios.interceptors.response.use((response) => response, (error) => {
  Raven.captureException(error);
  return Promise.reject(error);
});

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

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