convertedIssue method

  1. @protected
KntIssue convertedIssue(
  1. DioError error
)

Implementation

@protected
KntIssue convertedIssue(DioError error) {
  switch (error.type) {
    case DioErrorType.connectionTimeout:
    case DioErrorType.receiveTimeout:
      return KntIssue.timeout;
    case DioErrorType.sendTimeout:
      return KntIssue.network;
    case DioErrorType.badResponse:
      switch (error.response?.statusCode) {
        case HttpStatus.unauthorized:
          return KntIssue.unauthorized;
        case HttpStatus.badRequest:
          return KntIssue.badRequest;
        case HttpStatus.notFound:
          return KntIssue.notFound;
        case HttpStatus.methodNotAllowed:
        case HttpStatus.unprocessableEntity:
        case HttpStatus.internalServerError:
        case HttpStatus.badGateway:
        case HttpStatus.serviceUnavailable:
        case HttpStatus.gatewayTimeout:
          return KntIssue.server;
        default:
          return KntIssue.undefined;
      }
    case DioErrorType.cancel:
      return KntIssue.cancel;
    case DioErrorType.unknown:
    default:
      if (error.error is SocketException) {
        // SocketException: Failed host lookup: '***'
        // (OS Error: No address associated with hostname, errno = 7)
        return KntIssue.network;
      } else {
        return KntIssue.undefined;
      }
  }
}