baseRequest method

Future<Map<String, dynamic>?> baseRequest({
  1. String? function,
  2. Map<String, dynamic>? params,
  3. Map<String, String?>? headers,
  4. String? url,
  5. String method = 'GET',
  6. bool autoRepeate = false,
  7. int autoRepeateCount = 1000,
  8. int maxRepeateDelay = 5,
  9. FutureOr<bool> retryIf(
    1. Exception
    )?,
  10. FutureOr<void> onRetry(
    1. Exception
    )?,
})

Implementation

Future<Map<String, dynamic>?> baseRequest({
  final String? function,
  final Map<String, dynamic>? params,
  final Map<String, String?>? headers,
  final String? url,
  //final int timeout = 15000,
  final String method = 'GET',
  bool autoRepeate = false,
  int autoRepeateCount = 1000,
  int maxRepeateDelay = 5,
  FutureOr<bool> Function(Exception)? retryIf,
  FutureOr<void> Function(Exception)? onRetry,
}) async {
  if (autoRepeate) {
    final r = RetryOptions(
      maxAttempts: autoRepeateCount,
      maxDelay: Duration(seconds: maxRepeateDelay),
    );
    return await r.retry(
      () => _baseRequest(
        function: function,
        params: params,
        headers: headers,
        url: url,
        //timeout: timeout,
        method: method,
      ),
      retryIf: retryIf,
      onRetry: onRetry,
    );
    // onRetry: (error) => _updateStatusError(error.toString()));
  } else {
    return await _baseRequest(
      function: function,
      params: params,
      headers: headers,
      url: url,
      //timeout: timeout,
      method: method,
    );
  }
}