apply method

  1. @override
SentryEvent? apply(
  1. SentryEvent event, {
  2. Hint? hint,
})

Implementation

@override
SentryEvent? apply(SentryEvent event, {Hint? hint}) {
  if (event is SentryTransaction) {
    return event;
  }

  DioError? dioError;

  for (final exception in event.exceptions ?? []) {
    final throwable = exception.throwable;
    if (throwable is DioError) {
      dioError = throwable;
      break;
    }
  }

  if (dioError == null) {
    return event;
  }

  final response = _responseFrom(dioError);

  var contexts = event.contexts;
  if (event.contexts.response == null) {
    contexts = contexts.copyWith(response: response);
  }
  // Don't override just parts of the original request.
  // Keep the original one or if there's none create one.
  event = event.copyWith(
    request: event.request ?? _requestFrom(dioError),
    contexts: contexts,
  );

  return event;
}