mapToFailure<T> method

Exception mapToFailure<T>(
  1. DataResponse<T> failure
)

Implementation

Exception mapToFailure<T>(
  DataResponse<T> failure,
) {
  try {
    switch (failure) {
      case UndefinedError u:
        {
          return ApiUndefinedFailure(
            statusCode: u.statusCode,
            message: u.errorObject.toString(),
          );
        }
      case ApiError e:
        {
          final customError = onCustomError(
            e.error,
            e.statusCode,
          );
          return customError ??
              ApiFailure(
                ServerFailure.response,
                statusCode: e.statusCode,
                message: e.error.toString(),
              );
        }
      case NoInternetConnection _:
        {
          return ConnectionFailure();
        }
      case Unauthorized _:
        {
          return ApiUnauthorizedFailure();
        }
      case TooManyRequests _:
        {
          return ApiTooManyRequestsFailure();
        }
      case CanceledRequest _:
        {
          return const CanceledRequestFailure();
        }
    }
    return ApiUnknownFailure();
  } catch (e, trace) {
    if (kDebugMode) {
      print('MapCommonServerError::getServerFailureDetails');
      print(e);
      print(trace);
    }
    return ApiExceptionFailure(message: e.toString());
  }
}