Files
umbrix/lib/utils/sentry_utils.dart

22 lines
604 B
Dart
Raw Normal View History

2023-10-03 21:12:14 +03:30
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:hiddify/domain/failures.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
FutureOr<SentryEvent?> sentryBeforeSend(SentryEvent event, {Hint? hint}) {
if (canSendEvent(event.throwable)) return event;
return null;
}
bool canSendEvent(dynamic throwable) {
return switch (throwable) {
UnexpectedFailure(:final error) => canSendEvent(error),
DioException _ => false,
SocketException _ => false,
ExpectedException _ => false,
_ => true,
};
}