createErrorEntity method

ErrorEntity createErrorEntity(
  1. Exception error
)

Implementation

ErrorEntity createErrorEntity(Exception error) {
  if (error is DioError) {
    switch (error.type) {
      case DioErrorType.cancel:
        return ErrorEntity(code: defDioErrorCode, message: Strings.httpRequestCancel.tr);
      case DioErrorType.connectionError:
      case DioErrorType.connectionTimeout:
        return ErrorEntity(code: defDioErrorCode, message: Strings.httpRequestConnectTimeout.tr);
      case DioErrorType.sendTimeout:
        return ErrorEntity(code: defDioErrorCode, message: Strings.httpRequestSendTimeout.tr);
      case DioErrorType.receiveTimeout:
        return ErrorEntity(code: defDioErrorCode, message: Strings.httpRequestReceiveTimeout.tr);
      case DioErrorType.badResponse:
        int? statusCode = error.response?.statusCode;
        String errorMsg = Strings.httpRequestServerStateError.tr;
        if (null != statusCode) {
          errorMsg = "$errorMsg[$statusCode]";
        }
        return ErrorEntity(code: defDioErrorCode, message: errorMsg);
      default:
        if (error.error is SocketException) {
          return ErrorEntity(code: defDioErrorCode, message: Strings.httpRequestNetworkError.tr);
        } else {
          return ErrorEntity(code: defDioErrorCode, message: Strings.httpRequestError.tr);
        }
    }
  } else {
    return ErrorEntity(code: defDioErrorCode, message: Strings.httpRequestError.tr);
  }
}