cancel method

void cancel([
  1. Object? reason
])

Cancel the request with the given reason.

Implementation

void cancel([Object? reason]) {
  if (_completer.isCompleted) {
    if (reason != _cancelError?.error) {
      final buffer = StringBuffer();
      buffer.writeln(
        'The CancelToken was cancelled multiple times with different reason:',
      );
      buffer.writeln('=> [Error      ]:');
      buffer.writeln('   |--- Previous:${_cancelError?.error}');
      buffer.writeln('   |--- Current :$reason');
      buffer.writeln('=> [Stack Trace]:');
      buffer.writeln('   |--- Previous:${_cancelError?.stackTrace}');
      buffer.writeln('   |--- Current :${StackTrace.current}');
      warningLog(buffer.toString(), StackTrace.current);
    }
    return;
  }
  _cancelError = DioException.requestCancelled(
    requestOptions: requestOptions ?? RequestOptions(),
    reason: reason,
    stackTrace: StackTrace.current,
  );
  _completer.complete(_cancelError);
}