timeout<T>  method 
Creates a new Future that completes with the result of request or a TimeoutException if
timeLimit elapses (default: Client.timeLimit).
Implementation
Future<T> timeout<T>(final Future<T> request, final Duration? timeLimit) {
  final Duration? limit = timeLimit ?? this.timeLimit;
  return limit != null
      ? request.timeout(limit, onTimeout: onTimeout)
      : request;
}