onError method

  1. @override
Future onError(
  1. DioError err,
  2. ErrorInterceptorHandler handler
)
override

Called when an exception was occurred during the request.

Implementation

@override
Future<dynamic> onError(
  DioError err,
  ErrorInterceptorHandler handler,
) async {
  final response = err.response;
  if (response == null ||
      await token == null ||
      err.error is RevokeTokenException ||
      !_shouldRefresh(response)) {
    return handler.next(err);
  }
  try {
    final refreshResponse = await _tryRefresh(response);
    handler.resolve(refreshResponse);
  } on DioError catch (error) {
    handler.next(error);
  }
}