onError method

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

Called when an exception was occurred during the request.

Implementation

@override
Future<void> onError(
  DioException err,
  ErrorInterceptorHandler handler,
) async {
  await SharedPreferencesManager.getInstance().getSettings();

  if (!ChuckerFlutter.isDebugMode && !ChuckerFlutter.showOnRelease) {
    handler.next(err);
    return;
  }
  final method = err.requestOptions.method;
  final statusCode = err.response?.statusCode ?? -1;
  final path = err.requestOptions.path;

  ChuckerUiHelper.showNotification(
    method: method,
    statusCode: statusCode,
    path: path,
    requestTime: _requestTime,
  );
  await _saveError(err);

  log('ChuckerFlutter: $method:$path - $statusCode saved.');
  handler.next(err);
}