12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- using System.Diagnostics;
- using System.IO;
- namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO
- {
- public class TeeOutputStream
- : BaseOutputStream
- {
- private readonly Stream output, tee;
- public TeeOutputStream(Stream output, Stream tee)
- {
- Debug.Assert(output.CanWrite);
- Debug.Assert(tee.CanWrite);
- this.output = output;
- this.tee = tee;
- }
- protected override void Dispose(bool disposing)
- {
- if (disposing)
- {
- output.Dispose();
- tee.Dispose();
- }
- base.Dispose(disposing);
- }
- public override void Write(byte[] buffer, int offset, int count)
- {
- output.Write(buffer, offset, count);
- tee.Write(buffer, offset, count);
- }
- #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER || UNITY_2021_2_OR_NEWER
- public override void Write(ReadOnlySpan<byte> buffer)
- {
- output.Write(buffer);
- tee.Write(buffer);
- }
- #endif
- public override void WriteByte(byte value)
- {
- output.WriteByte(value);
- tee.WriteByte(value);
- }
- }
- }
- #pragma warning restore
- #endif
|