onError method

  1. @override
void onError(
  1. DioException err,
  2. ErrorInterceptorHandler handler
)

Called when an exception was occurred during the request.

Implementation

@override
void onError(DioException err, ErrorInterceptorHandler handler) {
  final id = _requestIds.remove(err.requestOptions);
  final startTime = _requestStarts.remove(err.requestOptions);

  if (id != null) {
    final duration = startTime != null
        ? DateTime.now().difference(startTime)
        : Duration.zero;

    _logger.logError(
      id: id,
      error: err.message ?? 'Unknown error',
      duration: duration,
    );
  }
  handler.next(err);
}