network<T> method

Future<T?> network<T>({
  1. required dynamic request(
    1. Dio api
    ),
  2. dynamic handleSuccess(
    1. NyResponse<T> response
    )?,
  3. dynamic handleFailure(
    1. NyResponse<T> response
    )?,
  4. String? bearerToken,
  5. String? baseUrl,
  6. bool useUndefinedResponse = true,
  7. bool shouldRetry = true,
  8. bool? shouldSetAuthHeaders,
  9. int? retry,
  10. Duration? retryDelay,
  11. bool retryIf(
    1. DioException dioException
    )?,
  12. Duration? connectionTimeout,
  13. Duration? receiveTimeout,
  14. Duration? sendTimeout,
  15. Duration? cacheDuration,
  16. String? cacheKey,
  17. CachePolicy? cachePolicy,
  18. bool? checkConnectivity,
  19. Map<String, dynamic>? headers,
})

Networking class to handle API requests Use the request callback to call an API handleSuccess overrides the response on a successful status code handleFailure overrides the response on a failure

Usage: Future<NyResponse<List

Implementation

Future<T?> network<T>({
  required Function(Dio api) request,
  Function(NyResponse<T> response)? handleSuccess,
  Function(NyResponse<T> response)? handleFailure,
  String? bearerToken,
  String? baseUrl,
  bool useUndefinedResponse = true,
  bool shouldRetry = true,
  bool? shouldSetAuthHeaders,
  int? retry,
  Duration? retryDelay,
  bool Function(DioException dioException)? retryIf,
  Duration? connectionTimeout,
  Duration? receiveTimeout,
  Duration? sendTimeout,
  Duration? cacheDuration,
  String? cacheKey,
  CachePolicy? cachePolicy,
  bool? checkConnectivity,
  Map<String, dynamic>? headers,
}) async {
  NyResponse<T> response = await networkResponse<T>(
    request: request,
    handleSuccess: handleSuccess,
    handleFailure: handleFailure,
    bearerToken: bearerToken,
    baseUrl: baseUrl,
    useUndefinedResponse: useUndefinedResponse,
    shouldRetry: shouldRetry,
    shouldSetAuthHeaders: shouldSetAuthHeaders,
    retry: retry,
    retryDelay: retryDelay,
    retryIf: retryIf,
    connectionTimeout: connectionTimeout,
    receiveTimeout: receiveTimeout,
    sendTimeout: sendTimeout,
    cacheDuration: cacheDuration,
    cacheKey: cacheKey,
    cachePolicy: cachePolicy,
    checkConnectivity: checkConnectivity,
    headers: headers,
  );
  return response.data;
}