public override Task Copy(Stream target) { try { var wrapper = new BufferingStreamWrapper(target); return(contentProducer.ProduceAsync(wrapper, cancellationToken)); } catch (ContentAlreadyUsedException) { throw; } catch (OperationCanceledException) { throw; } catch (BufferingStreamWrapperException error) { // ReSharper disable once PossibleNullReferenceException throw error.InnerException; } catch (Exception error) { throw new UserContentProducerException($"Failed to read from user-provided content producer of type '{contentProducer.GetType().Name}'.", error); } }
public void SetUp() { stream = Substitute.For <Stream>(); wrapper = new BufferingStreamWrapper(stream); buffer = new byte[1]; }