private async ValueTask <Response> UpdateStatusAsync(bool async, CancellationToken cancellationToken = default) { if (!HasCompleted) { try { Response <FullBackupDetailsInternal> response = async ? await _client.GetBackupDetailsAsync(Id, cancellationToken).ConfigureAwait(false) : _client.GetBackupDetails(Id, cancellationToken); _value = response.Value; _response = response.GetRawResponse(); } catch (RequestFailedException ex) { _requestFailedException = ex; throw; } catch (Exception ex) { _requestFailedException = new RequestFailedException("Unexpected failure", ex); throw _requestFailedException; } if (_value != null && _value.EndTime.HasValue && _value.Error != null) { _requestFailedException = new RequestFailedException($"{_value.Error.Message}\nInnerError: {_value.Error.InnerError}\nCode: {_value.Error.Code}"); throw _requestFailedException; } } return(GetRawResponse()); }
/// <inheritdoc/> public override async ValueTask <Response> UpdateStatusAsync(CancellationToken cancellationToken = default) { if (!HasCompleted) { Response <FullBackupDetailsInternal> response = await _client.GetBackupDetailsAsync(Id, cancellationToken).ConfigureAwait(false); _value = response.Value; _response = response.GetRawResponse(); } return(GetRawResponse()); }