toResponseError method

ResponseError toResponseError(
  1. DioError de, {
  2. String? context,
  3. String? target,
})
inherited

Converts a DioError to a ResponseError

  • de: The DioError
  • context: The optional context of the error
  • target: The optional target of the error

Used to create a consistent response when there is a internal error in the Dio client

Implementation

ResponseError toResponseError(DioError de,
    {String? context, String? target}) {
  if (de.type == DioErrorType.connectTimeout ||
      de.type == DioErrorType.sendTimeout ||
      de.type == DioErrorType.receiveTimeout) {
    return ResponseError.backendTimeout(
        message: de.message, context: context, target: target);
  } else if (de.type == DioErrorType.response) {
    var statusCode = de.response?.statusCode;

    if (statusCode == 404 || de.error == 'Http status error [404]') {
      return ResponseError.notFound(
          message: de.message, context: context, target: target);
    } else {
      return ResponseError.backendStatus(
          message: de.message, context: context, target: target);
    }
  } else if (de.type == DioErrorType.cancel) {
    return ResponseError.aborted(
        message: de.message, context: context, target: target);
  }

  return ResponseError.unknown(
      message: de.message, context: context, target: target);
}