Перейти к содержимому

Обзор ​

Неудачный HTTP-запрос не обязательно бросает исключение — 500 от внешнего API для fetch() обычный ответ, а пойманная сетевая ошибка никогда не доходит до глобальных обработчиков. httpErrorsIntegration следит за каждым исходящим запросом (глобальный fetch() и node:http / node:https) и отправляет лог уровня error для каждого, который:

  • отвечает статусом не ниже statusThreshold (по умолчанию 500), или
  • падает на сетевом уровне (соединение отклонено, ошибка DNS, таймаут).

Каждый лог несёт атрибуты method, url и status, так что их можно искать и группировать в разделе Логи. Собственные запросы SDK на /api/envelope игнорируются.

Использование ​

ts
import { use } from '@buglapse/node'
import { httpErrorsIntegration } from '@buglapse/node/integrations'

use(httpErrorsIntegration())

// сообщать и об ответах 4xx:
use(httpErrorsIntegration({ statusThreshold: 400 }))

Опции ​

ОпцияТипПо умолчаниюОписание
statusThresholdnumber500Наименьший статус ответа, о котором сообщается

Ваш код по-прежнему получает ответ (или брошенную сетевую ошибку) без изменений.