| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | using ServiceStack.Service;using System.IO;using System.Threading.Tasks;namespace MediaBrowser.Server.Implementations.HttpServer{    /// <summary>    /// Class StreamWriter    /// </summary>    public class StreamWriter : IStreamWriter    {        /// <summary>        /// Gets or sets the source stream.        /// </summary>        /// <value>The source stream.</value>        public Stream SourceStream { get; set; }        /// <summary>        /// Initializes a new instance of the <see cref="StreamWriter" /> class.        /// </summary>        /// <param name="source">The source.</param>        public StreamWriter(Stream source)        {            SourceStream = source;        }        /// <summary>        /// Writes to.        /// </summary>        /// <param name="responseStream">The response stream.</param>        public void WriteTo(Stream responseStream)        {            var task = WriteToAsync(responseStream);            Task.WaitAll(task);        }        /// <summary>        /// Writes to async.        /// </summary>        /// <param name="responseStream">The response stream.</param>        /// <returns>Task.</returns>        private async Task WriteToAsync(Stream responseStream)        {            using (var src = SourceStream)            {                await src.CopyToAsync(responseStream).ConfigureAwait(false);            }        }    }}
 |