cancel method
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);
}