map static method

DioException map(
  1. DioException err
)

Implementation

static DioException map(DioException err) {
  final statusCode = err.response?.statusCode;

  try {
    final data = err.response?.data;
    if (data is Map<String, dynamic>) {
      final apiError = ApiErrorResponse.fromJson(data);
      return DioException(
        requestOptions: err.requestOptions,
        response: err.response,
        error: NetworkException(
          message: apiError.message,
          statusCode: statusCode,
          requestId: apiError.requestId,
        ),
      );
    }
  } catch (_) {}

  final message = isNetworkError(err)
    ? 'No internet connection or request timed out.'
    : 'An unexpected error occurred.';

  return DioException(
    requestOptions: err.requestOptions,
    response: err.response,
    error: NetworkException(message: message, statusCode: statusCode),
  );
}