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) {
  if (err.response != null) {
    _saveCookies(err.response!).then((_) => handler.next(err)).catchError(
      (dynamic e, StackTrace s) {
        final error = DioException(
          requestOptions: err.response!.requestOptions,
          error: e,
          stackTrace: s,
        );
        handler.next(error);
      },
    );
  } else {
    handler.next(err);
  }
}