public async Task <long> ReadHeadPosition(CancellationToken cancellationToken = default) { var client = CreateClient(); var response = await client.Client.HeadAsync(LinkFormatter.AllStream(), cancellationToken); response.EnsureSuccessStatusCode(); response.Headers.TryGetValues(Constants.Headers.HeadPosition, out var headPositionHeaders); if (!long.TryParse(headPositionHeaders.Single(), out var headPosition)) { throw new InvalidOperationException(); } return(headPosition); }